Предмет: Информатика,
автор: avissolka
В числовую переменную последовательно вводятся целые числа, не равные нулю. кол-во вводимых чисел n неизвестно. Найти сумму тех чисел, в которых встречаются ровно две цифры 5.(в паскале написать программу)
Ответы
Автор ответа:
0
========== 1 вариант через строку ==========
var
n,a,k,sum,i,j: integer;
s: string;
begin
sum:=0;
write ('Введите количество чисел: ');
readln (n);
for i:=1 to n do begin
write ('Введите число: ');
readln (a);
Str(a,s);
k:=0;
for j:=1 to length(s) do
if s[j]='5' then k:=k+1;
if k=2 then sum:=sum+a;
end;
writeln ('Sum = ',sum);
end.
========== 2 вариант через div и mod ==========
var
n,a,x,k,sum,i: integer;
begin
sum:=0;
write ('Введите количество чисел: ');
readln (n);
for i:=1 to n do begin
write ('Введите число: ');
readln (a);
x:=abs(a);
k:=0;
while x>0 do begin
if x mod 10 =5 then k:=k+1;
x:=x div 10;
end;
if k=2 then sum:=sum+a;
end;
writeln ('Sum = ',sum);
end.
========== пример результата: ==========
Введите количество чисел: 3
Введите число: 550001
Введите число: -550000
Введите число: 123456
Sum = 1
var
n,a,k,sum,i,j: integer;
s: string;
begin
sum:=0;
write ('Введите количество чисел: ');
readln (n);
for i:=1 to n do begin
write ('Введите число: ');
readln (a);
Str(a,s);
k:=0;
for j:=1 to length(s) do
if s[j]='5' then k:=k+1;
if k=2 then sum:=sum+a;
end;
writeln ('Sum = ',sum);
end.
========== 2 вариант через div и mod ==========
var
n,a,x,k,sum,i: integer;
begin
sum:=0;
write ('Введите количество чисел: ');
readln (n);
for i:=1 to n do begin
write ('Введите число: ');
readln (a);
x:=abs(a);
k:=0;
while x>0 do begin
if x mod 10 =5 then k:=k+1;
x:=x div 10;
end;
if k=2 then sum:=sum+a;
end;
writeln ('Sum = ',sum);
end.
========== пример результата: ==========
Введите количество чисел: 3
Введите число: 550001
Введите число: -550000
Введите число: 123456
Sum = 1
Автор ответа:
0
//PascalABC.NET версия 3.2, сборка 1367
begin
var sum := 0;
for var i := 1 to ReadInteger('n=') do
begin
var num := ReadInteger('Введите число =');
if num.ToString().ToCharArray.Count(c -> c = '5') = 2 then
sum += num;
end;
Writeln(sum);
end.
begin
var sum := 0;
for var i := 1 to ReadInteger('n=') do
begin
var num := ReadInteger('Введите число =');
if num.ToString().ToCharArray.Count(c -> c = '5') = 2 then
sum += num;
end;
Writeln(sum);
end.
Похожие вопросы
Предмет: История,
автор: alinkauwu88
Предмет: География,
автор: Аноним
Предмет: Английский язык,
автор: Аноним
Предмет: Алгебра,
автор: yangulova04
Предмет: Алгебра,
автор: likaaaag