
Другие языки программирования и технологии
комета Бармалея. помогите плиз
Как известно, комета Бармалея с Земли с Любопытно, что это видна каждые лет. происходит в годы, кратные С, т. е. 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
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
Сергей Корнеев
можно поподробнее?
вот так я ее решил на с++ 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.
#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.
Похожие вопросы
- Кто поможет, плиз, перевести изображение текста в ворд (у меня нет файнридера) ?
- Для тех кто разбирается в Turbo Pascal 7.0 помогите плиз))))
- Помогите плиз задолбала эта ошибка!
- Помогите плиз поставить загрузку с CD
- Помогите плиз!!Задача в Паскале
- Дана матрица размером NxM. Упорядочить ее строки по неубыванию их наибольших элементов. в делфи помогите плиз срочно
- Помогите плиз с DOS кодом
- Помогите плиз!!! СРОЧНО!!!
- Помогите плиз в паскале!!!!
- Я хотел бы научиться программированию, но в нэте трудно найти книги которые мне помогут: ) Помогите плиз:)