Вводится пятизначное число, нужно найти сумму его цифр и произведение цифр - 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.

Объяснение кода листинга программы

  1. Создается переменная n, которая предназначена для хранения пятизначного числа, введенного пользователем.
  2. Запускается цикл Readln, который считывает введенное пользователем число и сохраняет его в переменной n.
  3. Проверяется условие (n>=10000) и (n<=99999). Если это условие выполняется, то начинается внутренний цикл.
  4. Внутри внутреннего цикла вычисляются следующие значения: dt - результат деления числа n на 10000, t - результат деления числа n на 1000 и взятия остатка от деления на 10, sot - результат деления числа n на 100 и взятия остатка от деления на 10, des - результат деления числа n на 10 и взятия остатка от деления на 10, ed - результат деления числа n на 10 и взятия остатка от деления на 10.
  5. Вычисляются значения 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.
  6. Если s равно p, то выводится сообщение s=p, n = <n>. В противном случае выводится сообщение s<>p.
  7. Цикл завершается командой Readln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.833 из 5
Похожие ответы