Pascalabc.net, обязательно через массивы, . напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 6 и оканчивающихся на 6. программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). количество чисел не превышает 100. введённые числа не превышают 300. программа должна вывести одно число: сумму всех чисел, кратных 6 и оканчивающихся на 6.

isshaixyt5 isshaixyt5    1   10.03.2019 12:39    74

Ответы
katyaarbato katyaarbato  24.05.2020 20:10

const n=100;

var i,sum:integer;

   a:array[1..n] of integer;

begin

 for i:=1 to n do begin

   readln(a[i]);

   if(a[i] = 0) then

     break;

 end;

 for i:=1 to n do begin

   if(a[i] <> 0) then begin

     if(a[i] mod 6 = 0) and (a[i] mod 10 = 6) then

       sum:=sum + a[i];

   end;

 end;

 writeln(sum);

end.

ПОКАЗАТЬ ОТВЕТЫ
ivan01356 ivan01356  24.05.2020 20:10

как вариант с динамическим массивом и вычислением за один проход...

var

   d : array of integer := new integer[0];

   a, s : integer;

begin

   repeat

       read(a);

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

           setLength(d, d.Length+1);

           d[d.Length-1] := a;

           if (a mod 10 = 6) and (a mod 6 = 0) then s += a;

       end;

   until (a = 0) or (d.Length = 100);

   writeln(s);

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика