IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> нахождение суммы M последний чисел числа N., Савсем не понимаю как записать...
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 222
Пол: Мужской
Реальное имя: Andrew

Репутация: -  0  +


Задание :
Дано натуральное число n.найди сумму m последних чисел числа n.
Тоесть
допустим вводим число n 1234
вводим число m 2
Программа должна считать сумму 3 + 4 .
ТОесть m кол-во чифр с конца.
Пример 2
{n = 12345
m = 3
3+4+5=12.}
Вот так.

я не могу понять,как программу будет распозвовать последние числа..у меня есть намеки на div и mod .
Код
const
y=10;
C:=a mod y;
writeln ('C= ',c:4:4);
readkey;

так он находит последнюю чифру числа а...а вот как сделать так,что бы он искал столько чифр,сколько я захочу(переменная m).

Сообщение отредактировано: Andrewshkovskii -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
у меня есть намеки на 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);
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 222
Пол: Мужской
Реальное имя: Andrew

Репутация: -  0  +


Цикл конечно работает,за что спасибо..
НО я хочу не просто сдать..а понять как это работает..для чего dec(m) нужно??ведь m - это кол-во цифр с коца числа...я пробывал её убирать,ответ получаеться на 1 больше..в описании процедуры написано что это уменьшение значение переменной ..гмм =/ потом ешё не понятно что
0 + (n mod 10); 
; а далее следует n div 10 ...эх=/

Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Смотри:
  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);
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 222
Пол: Мужской
Реальное имя: Andrew

Репутация: -  0  +


во спасибо!все понял!=)ишу кнопку как тебе репутацию поднять..чето не нашел=/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






smile.gif Не все так просто...

Тебе надо для этого набрать как минимум 100 постов (ну, или обратиться к кому-нибудь из модеров) ... blum.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Не могу решать помогите
сост программу нахождения произведения чисел от 5 до 25
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.11.2020 12:59
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name