Задачка-то с подвохом. Если среди m последних цифр есть ноль, то требуется посчитать сумму m+1 последних цифр, опять же, если среди них нет нуля и т. д.
Например:
m = 3;
Число = 1234567,
Сумма трёх последних цифр, не равных нулю = 18.
Но
m = 3;
Число = 2345067,
Сумма трёх последних цифр, не равных нулю, тоже = 18, а не 13.
program N67604034;
var x:longint;
m, s:byte;
begin
write('Введите натуральное число: ');
readln(x);
write('Введите число m: ');
readln(m);
write('Сумма последних ',m,' цифр числа, отличных от нуля = ');
s := 0;
while (m > 0) and (x > 0) do
begin
if x mod 10 > 0 then
begin
s := s + x mod 10;
dec(m) {или m := m - 1}
end;
x := x div 10
end;
write(s);
readln
end.
P.S. Исходное число должно быть в промежутке [1; 2147483647].
Другие языки программирования и технологии
Помогите с Pascal. Дано натуральное число. Определите сумму m его последних цифр отличных от 0
преобразовать его в текст
функцией right () выделить m последних символов. , преобразовывать каждый символ в число и суммировать
функцией right () выделить m последних символов. , преобразовывать каждый символ в число и суммировать
Можно и без преобразований
S := 0;
while (N <> 0) and (m > 0) do begin
S := S + N mod 10;
N := N div 10;
M := M - 1;
end;
Цифры, равные нулю сумму не изменят, так что можно суммировать и их.
S := 0;
while (N <> 0) and (m > 0) do begin
S := S + N mod 10;
N := N div 10;
M := M - 1;
end;
Цифры, равные нулю сумму не изменят, так что можно суммировать и их.
Похожие вопросы
- Помогите пожалуйста!Паскаль. Дано натуральное число N. Получить наименьшее число вида 2(m в степени), превосходящее N.
- Дано натуральное число. Определить количество его цифр, кратных z. Написать в Паскаль
- Помогите написать программу Дано натуральное число n. Вычислить сумму всех k(k+1), k меняется от 1 до n.
- Помогите написать программу. Дано натуральное 5-значное число n.Определить равны ли сумма и произведение его цифр.
- Дано натуральное число m.Переставьте местами первую и вторую цифры этого числа Pascal ABC.NET
- даны натуральные числа n и m(0 <=m <= 9)дополнить запись числа n в начале и в конце цифрой m
- как решить через abc pascal задачу "Дано натуральное число n. Получить все простые делители этого числа"
- Дано натуральное число п. Найти знакочередующуюся сумму цифр числа n:
- Паскаль. Дано натуральное число. Верно ли , что цифра А встречается в нем более К раз.
- циклы с++ Дано натуральное N. Найти сумму всех цифр числа и вывести на экран все цифры в обратном порядке.