Найти сумму первых M цифр числа N - Pascal
Формулировка задачи:
4)даны натуральные числа N и M, M(<=10). найти сумму первых M цифр числа N. Если цифр в N меньше чем в M, то считать недостающие цифры считать нулю
пожалуйста зачет сдать а то на пары не ходил(( в паскале
Решение задачи: «Найти сумму первых M цифр числа N»
textual
Листинг программы
Var n,m,s,i,m1:longint;
Begin
write('Введите N: ');readln(n);
write('Введите M: ');readln(m);
i:=1;
While n>0 do
Begin
m1:=m1*10+n mod 10;
n:=n div 10;
End;
n:=m1;
While (n>0)and(i<=m) do
Begin
s:=s+n mod 10;
inc(i);
n:=n div 10;
End;
writeln('Сумма первых ',m,' цифр = ',s);
readln;
End.
Объяснение кода листинга программы
- В начале кода объявляются переменные n, m, s, i и m1 типа longint.
- Затем происходит чтение значений n и m с помощью функции readln.
- Переменная i инициализируется единицей.
- Далее идет цикл while, который выполняется до тех пор, пока n не станет равным нулю.
- Внутри цикла значение n умножается на 10 и добавляется к переменной m1. Затем значение n делится на 10.
- После выхода из внутреннего цикла значение n присваивается переменной m1.
- Затем идет еще один цикл while, который выполняется до тех пор, пока n не станет равным нулю и i не превысит m.
- Внутри этого цикла значение n прибавляется к переменной s, а счетчик i увеличивается на единицу. Затем значение n делится на 10.
- После выхода из внутреннего цикла значение s выводится на экран вместе с текстом
Сумма первых, m,цифр =, s. - Конец программы.