Информатика Архивный вопрос

Составить алгоритм и написать программу: Среди трехзначных чисел найдите те, которые делятся на 11 и на 17.

1 комментария:
Какое-то из двух решений неверное.

Ответы

Гость

Var a,b,c:integer;

begin

writeln('Введите количество цифр:');
read(a);
for b:=1 to a do begin
readln(c);
if (c mod 11 =0) and (c mod 17 = 0) then
writeln('число ', c, ' удовлетворяет условию');
end;
end.

5 комментария:
Здесь делится на 11 и 17 одновременно. Сделано нерационально, можно сразу проверять делимость на величину 11х17=187
Вы правы, условие стоит заменить на
if c mod 187 then
if (c mod 187=0) - поправка
Это непринципиально. Принципиально другое: Ваше решение и второе - какое из них верное? Формально - оба, потому что из вопроса непонятно, какое условие надо реализовать.
Гость

Var num:integer;
begin
writeln('0 - выход');
repeat
write('Введите число: ');
readln(num);
if(((num mod 11) = 0) or ((num mod 17) = 0)) then writeln('Это число делится на 11 или 17')
else writeln('Это число не делится ни на 11, ни на 17');
until num = 0;
end.

1 комментария:
Здесь делится или на 11, или на 17 (если на 11 делится, то делится ли на 17 не важно).

Похожие вопросы