Помогите пожалуйста с задачей по информатике Дано число. Найти сумму и произведение его...

0 голосов
19 просмотров

Помогите пожалуйста с задачей по информатике Дано число. Найти сумму и произведение его цифр.


Информатика (654k баллов) | 19 просмотров
Дано ответов: 2
0 голосов

uses

SysUtils;

var

num: String;

sum, mult, i: Integer;

begin

sum := 0;

mult := 1;

ReadLn(num);

for i := 1 to Length(num) do

begin

sum := sum + StrToInt(num[i]);

mult := mult * StrToInt(num[i]);

end;

WriteLn('Сумма - ', sum);

WriteLn('Произведение - ', mult)

end.

(462 баллов)
0

Спасибо)

0 голосов

Решение, который дал другой пользователь, слишком сложное. Я могу предложить альтернативный вариант, который будет гораздо проще в понимании.

Var a,s,s1:integer;

Begin

 write('Введите число -> ');

 readln(a);

 s1:=1;

 while a>0 do

 begin

   s:=s+(a mod 10);

   s1:=s1*(a mod 10);

   a:=a div 10;

 end;

 writeln('Сумма цифр числа равна -> ',s);

 writeln('Произведение цифр числа равно -> ',s1);

End.

(432 баллов)
0

Спасибо большое!!!А там где вы написали введите число, это так и писать или нужно какое-то число написать?

0

Просто так оставьте. Если вам это будет каким-то образом мешать, то вы можете избавиться от этой строчки. Эта строка играет чисто графическую роль, на ход работы программы не влияет. Паскаль выводит сообщение "Введите число -> ", затем строка readln(a); считывает то, что введёт пользователь.

0

Хорошо, еще раз спасибо)