Другие языки программирования и технологии

комета Бармалея. помогите плиз

Как известно, комета Бармалея с Земли с Любопытно, что это видна каждые лет. происходит в годы, кратные С, т. е. C, 2xС, зxС и т. д. Не каждому суждено увидеть эту комету хотя бы о в жизни. Впрочем, н счастливые долгожители, заставшие ее прилет Даже несколько раз. Считается, что впервые з комету увидел и знаменитый документировал средневековый астроном Бармалео Бармалей. В честь него она и свое Говорят получила имя. за свою долгую жизнь он успел сделать открытий областях много великих в самых разных науки. Однако недавно историки засомневались, правда ли все открытия, которые ему приписываются, Бармалео Бармалей сделал сам. В частности, они заинтересовались, сколько раз за свою жизнь ученый мог видеть комету, названную в его честь. Бармалео Бармалей родился 1 января в год A и умер 31 декабря в год В. Сколько раз за его жизнь комета была видна с Земли? Мы считаем, что он мог видеть комету, даже будучи младенцем или глубоким стариком, т. е. если она прилетала в год А или В. Программа получает на вход три целых числа A, B и C (1 sAs В 2x10', 1 sCs 2:10') и должна вывести одно целое число количество раз, которое комета была видна между годами А и В включительно.
readln(a, b, c);
writeln(b div с - (a + с - 1) div c + 1)

Если комета пролетела в год x, то x div с - номер пролёта кометы.

b div с - последний номер пролёта кометы не позднее последнего года жизни.

(a + с - 1) div c - первый номер пролёта кометы не ранее первого года жизни:

(1801 + 49) div 50 = 37
...
(1850 + 49) div 50 = 37
(1851 + 49) div 50 = 38
...
(1900 + 49) div 50 = 38
и т. д.

Нам надо подсчитать кол-во пролётов комет от первого найденного номера до последнего. Кол-во чисел от X до Y включительно равно Y - X + 1
DM
Diyar Mirzaev
95 085
Лучший ответ
Сергей Корнеев можно поподробнее?
вот так я ее решил на с++ 2017:

#include "iostream" //вместо кавычек ставте печатные одинарные кавычки (шифт б и шифт ю
#include "cstdlib" //на английском)

using namespace std;

int main() {

//Объявление переменных.

int a, b, c, d, e;

//Ввод данных

cin >> a; //Год рождения
cin >> b; //Год смерти
cin >> c; //Интервал пролетания кометы

setlocale(LC_ALL,"Rus"); //Включение поддержки русского языка

//Обработка данных

if (a >= 1 && a <= b && b <= 2000000000 && c >= 1 && c <= 2000000000) {

e = b - a; //Вычисление периода жизни
d = e / c; //Вычисление интервала пролетания кометы

cout << d + 1 << endl; //Вывод ответа
}

system("pause");
}

А на паскале будет примерно так:

program cometa;
var a, b, c, d, e: integer; //Объявление переменных

begin

readln(a, b, c);

if(a >= 1 and a <= b and b <= 2000000000 and c >= 1 and c <= 2000000000) then do

begin

e = b - a; //Вычисление периода жизни
d = e div c; //Вычисление интервала пролетания кометы

writeln(d + 1);

end;
end.
Александр Журавлев Это не подходит. У тебя если года 1851 и 1899, ответ 1.