Задание :
Дано натуральное число n.найди сумму m последних чисел числа n.
Тоесть
допустим вводим число n 1234
вводим число m 2
Программа должна считать сумму 3 + 4 .
ТОесть m кол-во чифр с конца.
Пример 2
{n = 12345
m = 3
3+4+5=12.}
Вот так.
я не могу понять,как программу будет распозвовать последние числа..у меня есть намеки на div и mod .
s := 0;
while (n > 0) and (m > 0) do begin
s := s + (n mod 10);
n := n div 10;
dec(m); { <--- Обработал еще одну цифру - уменьшаешь счетчик }
end;
writeln('s = ', s);
Цикл конечно работает,за что спасибо..
НО я хочу не просто сдать..а понять как это работает..для чего dec(m) нужно??ведь m - это кол-во цифр с коца числа...я пробывал её убирать,ответ получаеться на 1 больше..в описании процедуры написано что это уменьшение значение переменной ..гмм =/ потом ешё не понятно что
0 + (n mod 10);; а далее следует n div 10 ...эх=/
Смотри:
m := {сколько_цифр_числа_обрабатывать};
s := 0; { вначале сумма цифр = 0 }
{
Пока само число не станет равным 0 (почему это произойдет, смотри ниже)
или пока не обработано достаточное количество цифр (условие m > 0)
делать:
}
while (n > 0) and (m > 0) do begin
{
Сумму увеличиваем на последнюю цифру числа N
(так как число в десятичной системе счисления, его последнюю цифру
получаем как остаток (mod) от деления числа на 10)
}
s := s + (n mod 10);
{
Само число нужно разделить на 10 без остатка, тогда его предпоследняя цифра
станет последней: было 1234, поделили на 10 нацело - стало 123, бывшая
предпоследняя цифра стала последней... Когда поделишь на 10 число, состоящее из одной
цифры, оно станет равным 0, и цикл закончится...
}
n := n div 10;
{
Еще одну цифру обработал, значит, счетчик цифр, которые ЕЩЕ нужно посчитать,
уменьшаешь на 1, Dec(m) аналогично m := m - 1;
}
dec(m); { <--- Обработал еще одну цифру - уменьшаешь счетчик }
end;
{ Ну, и распечатываешь сумму... }
writeln('s = ', s);
во спасибо!все понял!=)ишу кнопку как тебе репутацию поднять..чето не нашел=/
Не все так просто...
Тебе надо для этого набрать как минимум 100 постов (ну, или обратиться к кому-нибудь из модеров) ...
Не могу решать помогите
сост программу нахождения произведения чисел от 5 до 25