Помогите пожалуйста решить задачу:напишите программу, которая в последовательности целых...

0 голосов
161 просмотров

Помогите пожалуйста решить задачу:напишите программу, которая в последовательности целых чисел определяет количество чисел, кратных 5 или 9.Программа получает на вход целые числа,количество введённых чисел неизвестно, последовательность чисел заканчивается числом (0 - признак окончания ввода,не входит в последовательность). Количество чисел не превышает 1000. Введенные числа не превышает 30000. Программа должна вывести одно число:количество чисел, кратных 5 или 9.помогите пожалуйста!!!(это надо решить Паскалем)​


Информатика (65 баллов) | 161 просмотров
Дано ответов: 2
0 голосов

var

 k5, k9, k45, k, i, x: integer;

begin

 k5 := 0; k9 := 0; k45 := 0;

 while True do

 begin

   readln(x);

   if x = 0 then

     break;

   if (x mod 5 = 0) and (x mod 9 <> 0) then

     k5 += 1;

   if (x mod 5 <> 0) and (x mod 9 = 0) then

     k9 += 1;

   if x mod 45 = 0 then

     k45 += 1;

 end;

 k := k5+k9-k45;

 write(k)

end.

(476 баллов)
0

программа не работает, не определяет 0 как признак конца ввода

0

Исправил

0

теперь ты забыл объявить n, дает ошибку "Неизвестное имя 'n'"

0

Можно было и самому это подправить...

0

как ты мне предлагаешь править чужие ответы???

0 голосов

var

   a, n, i : integer;

   

begin

   repeat

       read(a);

       if (a <= 30000) and (a <> 0) then begin

           if (a mod 5 = 0) or (a mod 9 = 0) then n += 1;

           i += 1;

       end;

   until (a = 0) or (i = 1000);

   writeln(n);

end.

(1.2k баллов)