Написать программку в Паскале, которая определяет сумму естественных чисел кратных 3

Написать программу в Паскале, которая определяет сумму натуральных чисел кратных 3 и заканчивающихся на 6. Заключительнее число последовательности 0. Количество чисел не превышает 1000. Количество введённых чисел неведомо.

Задать свой вопрос
2 ответа
Поскольку здесь речь о последовательности неизвестной длины, вводимой с клавиатуры до возникновения нуля, а условие дозволяет для каждого вводимого числа сходу решить, должно ли оно заходить в сумму, задачка решается без использования массива и условие "Количество чисел не превосходит 1000" - это просто ловушка для легковерных с тем, чтоб в случае использования массива длиной 1000 объявить потом решение неэффективным по памяти.

1. Решение на современной версии Паскаля
PascalABC.NET 3.2, сборка 1389 от 01.03.2017
Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadSeqIntegerWhile(n-gt;nlt;gt;0)
      .Where(n-gt;(n mod 3=0) and (n mod 10=6)).Sum;
  Writeln('Сумма отобранных чисел одинакова ',s)   
end.

Пример
15 36 26 72 25 96 83 0
Сумма отобранных чисел одинакова 132

2. Решение "по-школьному"

var
  n,s:integer;
begin
  s:=0;
  repeat
    Read(n);
    if (n mod 3=0) and (n mod 10=6) then s:=s+n
  until n=0;
  Writeln('Сумма отобранных чисел одинакова ',s)
end.

Пример
15 36 26 72 25 96 83 0
Сумма отобранных чисел равна 132
Uses crt;
var  n, i, s: integer; 
a: array [1..1000] of integer;
begin  writeln('Введите количество чисел последовательности');
read(n); 
s := 0; 
writeln('Введите числа'); 
for i := 1 to n do 
begin  
read(a[i]);   
a[n] := 0; 
end; 
writeln(); 
for i := 1 to n do   
write(a[i], ' '); 
writeln(); 
for i := 1 to n do   
s := s + a[i]; 
writeln('Сумма=', s);
end.
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт