Дано натуральное число. Верно ли что сумма его цифр меньше A? - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Дано натуральное число верно ли что сумма его цифр меньше A? Верно ли что произведение его цифр больше B. Верно ли что это число k значное?составное условие и вложенный условный оператор не использовать.верно ли что его первая цифра превышает n?

Решение задачи: «Дано натуральное число. Верно ли что сумма его цифр меньше A?»

textual
Листинг программы
Var
  N,S : Longint;
  i : Byte;
 
Function GetNumCifr(A : Longint) : Byte;
Var l : Byte;
    k : LongInt;
Begin
  k:=A;l:=0;
  While k>0 do
  Begin
    Inc(l);
    k:=k div 10;
  End;
  GetNumCifr:=l;
End;
 
Function GetNumInPos(B : Longint;N : Byte) : Byte;
Var ll : Integer;
    kk : LongInt;
Begin
  kk:=B; ll:=1;
  While ll<N do
  Begin
    Inc(ll);
    kk:=kk div 10;
  End;
  GetNumInPos:=kk mod 10;
End;
 
Begin
  S:=0;
  Readln(N);
  Writeln(GetNumCifr(N));
  For i:=1 to GetNumCifr(N) do
    Inc(S,GetNumInPos(N,i));
  Writeln(S);
end.

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

В данном коде используется язык программирования Turbo Pascal. Он представляет собой набор функций, которые выполняют определенные операции. Функция GetNumCifr принимает на вход целое число A и возвращает количество цифр в этом числе. Для этого используется цикл While, который выполняется до тех пор, пока число A не станет равным нулю. Внутри цикла значение переменной l увеличивается на единицу каждый раз, когда цифра числа A встречается. После завершения цикла значение переменной l возвращается как результат работы функции. Функция GetNumInPos принимает на вход два аргумента: целое число B (предполагается, что это сумма цифр числа N) и байтовое число N. Функция возвращает последнюю цифру числа B. Для этого также используется цикл While, который выполняется до тех пор, пока значение переменной ll меньше значения переменной N. Внутри цикла значение переменной ll увеличивается на единицу каждый раз, когда цифра числа B встречается. После завершения цикла значение переменной ll возвращается как результат работы функции. В основной части кода считывается входное число от пользователя с помощью функции Readln. Затем вызывается функция GetNumCifr для получения количества цифр во входном числе. Далее происходит итерация от 1 до количества цифр, полученного ранее, с использованием цикла For. На каждой итерации вызывается функция GetNumInPos для получения последней цифры числа, которое является суммой предыдущих цифр. Полученная цифра добавляется к сумме. В конце выводится итоговая сумма на экран с помощью функции Writeln.

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


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

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

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