Ввести натуральное К и распечатать таблицу квадратов всех десятичных цифр введенного натурального числа - Turbo Pascal

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

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

Известно, что сумма N первых нечетных чисел равна квадрату числа N. Например, 1 + 3 + 5 = 32 , 1 + 3 + 5 + 7 = 42 и т.д. Ввести натуральное К и распечатать таблицу квадратов всех десятичных цифр введенного натурального числа начиная с младшей с использованием указанного соотношения. Пример: K=7385 5 25=1+3+5+7+9 8 64=1+3+5+7+9+11+13+15 3 9=1+3+5 7 49=1+3+5+7+9+11+13 Собственно нужен хоть какой то пример или алгоритм.

Решение задачи: «Ввести натуральное К и распечатать таблицу квадратов всех десятичных цифр введенного натурального числа»

textual
Листинг программы
var
  k: integer;
  i, t: byte;
 
begin
  write('Enter K: ');
  readln(k);
  while k > 0 do
  begin
    t := k mod 10;
    if t = 0 then writeln('0 0 = 0')  // случай, когда цифра = 0
    else if t = 1 then writeln('1 1 = 1') // случай, когда цифра = 1
    else // остальные цифры
    begin
      write(t, ' ', t * t, ' = 1');
      for i := 2 to t do
        write(' + ', i * 2 - 1);
      writeln;
    end;
    k := k div 10;
  end;
  readln;
end.

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

  1. Переменная k предназначена для хранения введенного пользователем натурального числа.
  2. Переменные i и t используются для обработки каждой цифры числа.
  3. Цикл while выполняется до тех пор, пока значение переменной k больше нуля.
  4. Внутри цикла переменная t инициализируется как остаток от деления значения переменной k на 10.
  5. Если значение переменной t равно нулю, то выводится строка '0 0 = 0', что означает, что цифра равна нулю.
  6. Если значение переменной t равно единице, то выводится строка '1 1 = 1', что означает, что цифра равна единице.
  7. В остальных случаях выводится строка, которая представляет собой цифру, умноженную на саму себя, и затем добавляются остальные цифры числа (в порядке их появления), а также знак плюса и два раза значение каждой из этих цифр.
  8. После вывода всех значений для каждой цифры числа, значение переменной k уменьшается на 10 (для получения следующей цифры числа).
  9. После завершения цикла while программа завершается с помощью функции readln.

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

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