Найти число с максимальной суммой цифр

Среди натуральных чисел, которые были введены, найти наибольшее по сумме цифр. Вывести на экран это число и сумму его цифр.

  1. Создать переменные для хранения самой большой суммы цифр (max_s) и числа, которое они составляют (max_m). Присвоить им нули.
  2. Пока не будет введен 0,
    1. найти сумму цифр числа.
    2. Если сумма цифр больше сохраненного ранее значения в max_s, то сохранить в ней данную сумму. Присвоить max_m текущее «исследуемое» число.
  3. После того, как ввод чисел будет закончен, вывести на экран значения max_s и max_m.
Pascal

var n,m,s,max_s,max_m: integer;
begin
readln(n);
max_s := 0;
max_m := 0;
while n <> 0 do begin
m := n;
s := 0;
while n > 0 do begin
s := s + n mod 10;
n := n div 10;
end;
if s > max_s then begin
max_s := s;
max_m := m;
end;
readln(n);
end;
writeln('Число ', max_m,' имеет максимальную сумму цифр: ', max_s);
end.



3781
3902
2850
7121
8090
0
Число 3781 имеет максимальную сумму цифр: 19
Язык Си

#include

main() {
int n,m,s,max_m,max_s;
scanf("%d",&n);
max_m = 0;
max_s = 0;
while (n != 0) {
m = n;
s = 0;
while (n > 0) {
s += n%10;
n = n/10;
}
if (s > max_s) {
max_s = s;
max_m = m;
}
scanf("%d",&n);
}
printf("Число %d имеет максимальную сумму цифр: %d\n",max_m,max_s);
}



20199
97483
95732
87737
0
Число 87737 имеет максимальную сумму цифр: 32
Python

n = int(input())
max_s = 0
max_m = 0
while n != 0:
m = n
s = 0
while n>0:
s += n%10
n //= 10
if s > max_s:
max_s = s
max_m = m
n = int(input())
print('Число',max_m,'имеет максимальную сумму цифр:', max_s)



789
5076
12077
0
Число 789 имеет максимальную сумму цифр: 24
КуМир

алг макс сумма цифр
нач
цел n,m,s,max_s,max_m
ввод n
max_s := 0
max_m := 0
нц пока n<>0
m := n
s := 0
нц пока n>0
s := s + mod(n,10)
n := div(n,10)
кц
если s > max_s то
max_s := s
max_m := m
все
ввод n
кц
вывод "Число ",max_m," имеет максимальную сумму цифр: ",max_s
кон



578
45
345
9033
0
Число 578 имеет максимальную сумму цифр: 20

Basic-256

input n
max_s = 0
max_m = 0
while n <> 0
m = n
s = 0
while n > 0
s = s + n%10
n = n\10
endwhile
if s > max_s then
max_s = s
max_m = m
endif
input n
endwhile
print "Число " + max_m + " имеет максимальную сумму цифр: " + max_s



283713
834722
297447
237447
377462
917442
824743
0
Число 297447 имеет максимальную сумму цифр: 33

Оцените статью
Добавить комментарий