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

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

Помогите,пожалуйста,решить задачу по информатике.
С клавиатуры вводится 3 трёхзначных числа. Найдите сумму всех нечётных цифр в числах. (На языке Паскаль)


Информатика (15 баллов) | 25 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
1. Современное решение, когда можно решить "в одну строку"

// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  Writeln('S=',ReadSeqInteger(3).Select(n->n.ToString
    .Where(d->Pos(d,'13579')>0)).SelectMany(c->c)
    .Select(c->c.ToDigit).Sum)
end.

Пример
252 337 105
S=24

2. А примерно вот так учат писать в школе - долго и длинно (да и не особо понятно)

var
  m,i,j,s,d:integer;
begin
  s:=0;
  for i:=1 to 3 do begin
    Read(m);
    for j:=1 to 3 do begin
      d:=m mod 10;
      if d mod 2<>0 then s:=s+d;
      m:=m div 10
      end
    end;
  Writeln('S=',s)
end.
(150k баллов)
0

Спасибо