Помощь - Поиск - Пользователи - Календарь
Полная версия: признак делимости на 9
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
LP.by
помогите решить задачу.
Задачка :
С помощью признака делимости на 9, проверьте кратно ли данное натуральное число 9.
Напишите рекурсивную процедуру.
volvo
Сам признак делимости на 9 знаешь?

Тогда в чем проблема? Напиши сам или найди на форуме рекурсивную функцию, суммирующую все цифры числа...
LP.by
поправочка, текст я нашёл, а вот с рекурсивной процедурой проблема, (не знаю что это такое 10.gif )

var
b,a,sum:integer;
begin
read(a);
sum:=0;
while a >0 do
begin
b:= a mod 10;

sum:=sum+b;
a:= a div 10;
end;
if sum mod 9=0 then
write( sum,'Delitsya')
else
write( sum,'Ne Delitsya');
end.

volvo
Очередное извращение - использовать здесь процедуру... Функция была бы удобнее...

procedure get_s(var s: integer; n: integer);
begin
if n = 0 then s := 0
else begin
get_s(s, n div 10);
s := s + (n mod 10);
end;
end;

var
a, sum: integer;
begin
readln(a);
get_s(sum, a);

if sum mod 9=0 then
write(sum,' Delitsya')
else
write(sum,' Ne Delitsya');
end.
LP.by
огромное спс
good.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.