Консультация № 173563
22.10.2009, 19:11
0.00 руб.
0 7 1
Нахождение суммы цифр заданного числа и всех его делителей.

Приложение:
Уважаемые эксперты.Решите пожалуйста эту задачу.Число можно взять любое,какое хотите.

Обсуждение

давно
Специалист
246813
155
22.10.2009, 20:08
общий
22.10.2009, 22:27
это ответ
Здравствуйте, Варфоломеев Вадим Епистимиевич.
Задача проверена на Free Pascale.
Комментарии в самом коде программы.

Приложение:
program q173563;
{программа для вычисления суммы всех цифр заданного числа и суммы всех цифр всех делителей этого числа, а так же высчитывает общую сумму всех цифр этих чисел}
var a, s, s1, d, i, j: integer;
begin
s:=0;
WriteLn('Vvedite natural''noe polozhitel''noe chislo');
ReadLn(a);

WriteLn('Deliteli: ');
for i:=1 to a do
if a mod i=0 then {если остаток от деления заданного числа от текущей итерации равен нулю, то это будет делитель}
begin
Write(i,', '); {выводим через запятую делители}
j:=i;
while j>0 do {находим сумму цифр делителя}
begin
d:=j mod 10; {остаток от деления на 10 будет возвращать последнюю цифру числа}
s:=s+d; {сумма всех цифр всех делителей этого числа}
j:=j div 10; {деление нацело}
end;
end;
WriteLn('Summa vseh cifr vseh delitelei zadannogo chisla: ', s);

s1:=0;
while a>0 do {цикл нахождения суммы всех цифр заданного числа, а так же находит общую сумму всех цифр этих чисел}
begin
d:=a mod 10; {остаток от деления на 10 будет возвращать последнюю цифру заданного числа}
s1:=s1+d;{сумма всех цифр заданного числа}
a:=a div 10; {деление нацело}
end;
s:=s+s1; {общая сумма всех цифр этих чисел}
WriteLn('Summa vseh cifr zadannogo chisla: ',s1);
WriteLn('Obwaya summa vseh cifr etih chisel: ', s);


WriteLn('Dlya zaversheniya nazhmite ENTER...');
ReadLn;
end.
давно
Старший Модератор
31795
6196
22.10.2009, 20:34
общий
Варфоломеев Вадим Епистимиевич:
Здраствуйте!
Уточните условие:
Нахождение суммы цифр заданного числа и всех его делителей.

Как в ответе эксперта LfiN или должна быть сумма цифр + всех делителей?
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.

Неизвестный
22.10.2009, 21:28
общий
Варфоломеев Вадим Епистимиевич:
Выберите правильную трактовку условия:


1. Нахождение (суммы цифр заданного числа)
и нахождение (всех его (заданного числа) делителей).

2. Нахождение суммы (цифр заданного числа и всех его (заданного числа) делителей).

3. Нахождение (суммы цифр заданного числа) и нахождение (суммы цифр всех его делителей).

?
давно
Специалист
246813
155
22.10.2009, 22:25
общий
Модераторы:
Уважаемые модераторы, можете исправить мой код программы на такой:

Код:
program q173563;
{программа для вычисления суммы всех цифр заданного числа и суммы всех цифр всех делителей этого числа, а так же высчитывает общую сумму всех цифр этих чисел}
var a, s, s1, d, i, j: integer;
begin
s:=0;
WriteLn('Vvedite natural''noe polozhitel''noe chislo');
ReadLn(a);

WriteLn('Deliteli: ');
for i:=1 to a do
if a mod i=0 then {если остаток от деления заданного числа от текущей итерации равен нулю, то это будет делитель}
begin
Write(i,', '); {выводим через запятую делители}
j:=i;
while j>0 do {находим сумму цифр делителя}
begin
d:=j mod 10; {остаток от деления на 10 будет возвращать последнюю цифру числа}
s:=s+d; {сумма всех цифр всех делителей этого числа}
j:=j div 10; {деление нацело}
end;
end;
WriteLn('Summa vseh cifr vseh delitelei zadannogo chisla: ', s);

s1:=0;
while a>0 do {цикл нахождения суммы всех цифр заданного числа, а так же находит общую сумму всех цифр этих чисел}
begin
d:=a mod 10; {остаток от деления на 10 будет возвращать последнюю цифру заданного числа}
s1:=s1+d;{сумма всех цифр заданного числа}
a:=a div 10; {деление нацело}
end;
s:=s+s1; {общая сумма всех цифр этих чисел}
WriteLn('Summa vseh cifr zadannogo chisla: ',s1);
WriteLn('Obwaya summa vseh cifr etih chisel: ', s);


WriteLn('Dlya zaversheniya nazhmite ENTER...');
ReadLn;
end.
давно
Мастер-Эксперт
425
4118
23.10.2009, 14:28
общий
LfiN:
Скажите пожалуйста, насколько существенна и непреодолима та причина, по которой Вы категорически отказываетесь пользоваться русским языком при выводе каких либо значений в своей программе?
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
давно
Специалист
246813
155
23.10.2009, 16:36
общий
sir Henry:
Считаю, что у большинства пользователей вместо кириллических символов будут выводиться непонятные иероглифы.
давно
Мастер-Эксперт
425
4118
23.10.2009, 16:45
общий
Считаю, что у большинства пользователей вместо кириллических символов будут выводиться непонятные иероглифы.

Вы считаете совершенно неправильно.
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
Форма ответа