Вводится пятизначное число, нужно найти сумму его цифр и произведение цифр - Turbo Pascal
Формулировка задачи:
Помогите, пожалуйста!!! Найти ошибку в коде. Очень нужно
Вот условие:
Вводится пятизначное число, нужно найти сумму его цифр и произведение цифр. Если сумма = произведению, вывести на экран.
Проблема в том, что некоторые числа вычисляются, а некоторые не вычисляются.
Спасибо
Решение задачи: «Вводится пятизначное число, нужно найти сумму его цифр и произведение цифр»
textual
Листинг программы
var n, s, p, dt, t, sot, des, ed: integer; Begin Write ('n= '); Readln(n); if ((n>=10000) and (n<=99999)) then begin dt:= n div 10000; t:= (n div 1000) mod 10; sot:= (n div 100) mod 10; des:= (n mod 100) div 10; ed:= n mod 10; s:= dt+t+sot+des+ed; p:= dt*t*sot*des*ed; end else Writeln('Это число не является 5-значным'); if s=p then Writeln('s=p, n = ', n) else Writeln('s<>p'); Readln; end.
Объяснение кода листинга программы
- Создается переменная
n
, которая предназначена для хранения пятизначного числа, введенного пользователем. - Запускается цикл
Readln
, который считывает введенное пользователем число и сохраняет его в переменнойn
. - Проверяется условие
(n>=10000)
и(n<=99999)
. Если это условие выполняется, то начинается внутренний цикл. - Внутри внутреннего цикла вычисляются следующие значения:
dt
- результат деления числаn
на 10000,t
- результат деления числаn
на 1000 и взятия остатка от деления на 10,sot
- результат деления числаn
на 100 и взятия остатка от деления на 10,des
- результат деления числаn
на 10 и взятия остатка от деления на 10,ed
- результат деления числаn
на 10 и взятия остатка от деления на 10. - Вычисляются значения
s
,p
,dt
,t
,sot
,des
,ed
следующим образом:s
- сумма цифр числаn
.p
- произведение цифр числаn
.dt
- результат деления числаn
на 10000.t
- результат деления числаn
на 1000 и взятия остатка от деления на 10.sot
- результат деления числаn
на 100 и взятия остатка от деления на 10.des
- результат деления числаn
на 10 и взятия остатка от деления на 10.ed
- результат деления числаn
на 10 и взятия остатка от деления на 10.
- Если
s
равноp
, то выводится сообщениеs=p, n = <n>
. В противном случае выводится сообщениеs<>p
. - Цикл завершается командой
Readln
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д