Просуммировать степень каждой цифры числа — Pascal(Паскаль)

uses crt;
var n, k, result:longint;
i, s, c:integer;
begin
  clrscr;
  write('N -> ');
  readln(n);
  k := n;
  c := 0;
  while k<>0 do
  begin
    inc(c);
    k := k div 10;
  end; // c - количество цифр
  result := 0; //общий результат
  while n<>0 do
  begin
    s := n mod 10; //текущая цифра в числе
    k := 1;
    for i := 1 to c do k := k * s; //возводим цифру s в степень c
    result := result + k; //прибавляем к общему результату
    n := n div 10;
  end;
  writeln('Ответ = ', result);
  readln;
end.

Leave a Comment

9 + 1 =