Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задание школьной олимпиады по информатике.

Юля Андреева Ученик (234), закрыт 6 лет назад
Вводятся N и М - номер первого и последнего билета соответственно. Нужно вывести одно число - количество чисел между N и M включительно, которые делятся на 13 без остатка.
Входные данные 999991 900026 / Выходные данные 3

На мой код паскаль выдает ошибку exited with exitcode = 2
Помогите, пожалуйста. Я не знаю, зачем я M присвоила N. И не знаю, что писать дальше.

var N,M,P:longInt;
input, ouyput: text;
begin
P:=0;
assign(input, 'input.txt');
assing(output, 'output.txt');
reset(input);
read(input, N, M);
rewrite(output);
if M mod 13 = 0
then P:=1
else else M:=M-1;
if M=N then M:=N;
write(output, P);
close(input);
close(output);
end.
Дополнен 6 лет назад
Входные данные 900001 900026 ошибочка вышла С:
Дополнен 6 лет назад
и else один раз
Дополнен 6 лет назад
В выходных данных, видимо, должно быть 2
Лучший ответ
Александр Иванов Высший разум (207311) 6 лет назад
Ошибки исправил. Но все равно программа работает неправильно. Без цикла тут никак. И с постановкой задачи что-то не так. На промежутке 900003 900016 не может быть трех чисел кратных 13
Да и на фига участвовать в олимпиаде, если даже не видишь разницу между assign и assing? Это ведь дело добровольное

var N,M,P:longInt;
input, output: text;
begin
P:=0;
assign(input, 'input.txt');
assign(output, 'output.txt');
reset(input);
read(input, N, M);
rewrite(output);
if M mod 13 = 0
then P:=1
else M:=M-1;
if M=N then M:=N;
write(output, P);
close(input);
close(output);
end.
Юля АндрееваУченик (234) 6 лет назад
По постановке задачи вопросы к составителям олимпиады.
И я вижу разницу между assign и assing. Но это не исключает моей простой вечерней невнимательности и очередной опечатки.
У вас получилось то же самое, что у меня есть, но все равно почему-то не работает. Все еще выдает ошибку exited with exitcode = 2
Александр Иванов Высший разум (207311) Так я ведь сказал, что программа НЕПРАВИЛЬНАЯ. Без цикла НИКАК var N,M,P,i:longInt; input, output: text; begin P:=0; assign(input, 'input.txt'); assign(output, 'output.txt'); reset(input); read(input, N, M); rewrite(output); for i:=n to m do if i mod 13 = 0 then p:=p+1; write(output, P); close(input); close(output); end.
Юля АндрееваУченик (234) 6 лет назад
Ох. Спасибо большое. Извините, что я такая тупая. С:
Александр Иванов Высший разум (207311) Но 3 там никак не получится. У меня участники олимпиад намного сложнее задачи решают
Валерий ШестаковПросветленный (25523) 6 лет назад
Ну почему без цикла никак?
По остаткам находим первое и последнее, а между ними остается "выровненный" интервал, в котором все одним делением считается
Александр Иванов Высший разум (207311) Ну погорячился)
Остальные ответы
kaiu Высший разум (115628) 6 лет назад
N и М - номер первого и последнего билета соответственно
Входные данные 999991 900026
999991 > 900026
Такое не возможно, обратись к учителю или кто там у вас.

else else
Такое тоже не возможно в паскале
Валерий Шестаков Просветленный (25523) 6 лет назад
Входные данные 900001 900026
Выходные данные 3
900003, 900016, я что-то упустил?
Ну не может среди 26-ти подряд идущих чисел быть трех, делящихся без остатка на 13

Ищите где еще "ошибочка вышла"
Юля АндрееваУченик (234) 6 лет назад
Действительно. Опечатка, видимо.
Валерий Шестаков Просветленный (25523) Ну не может среди 26-ти подряд идущих чисел быть трех, делящихся без остатка на 13 - это тонкий намек на то, как подобные задачи решаются
Похожие вопросы