1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.5 Упр.14 Задание 2 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 3.5 Упр.14 Задание 2 ГДЗ Семакин 10 класс (Информатика)

Задача

Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 14. Натуральное число, в записи которого n цифр, называется числом Армстронга, если сумма его цифр, возведенная в степень n, равна самому числу. Найти все числа Армстронга от 1 до к. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-5/zad2/14 98

Подробный ответ

Составим подпрограмму, которая проверяет, является ли число $$i$$ числом Армстронга.

Идея такая:

  • находим сумму цифр числа $$s$$;
  • находим количество цифр $$a$$;
  • возводим сумму цифр в степень $$a$$;
  • сравниваем полученное значение с самим числом $$i$$.

Если $$s^a=i$$, то число Армстронга.

Затем перебираем все числа от $$1$$ до $$k$$ и выводим те, для которых функция возвращает true.

var k, i: longint;
function Armstr(i: integer): boolean;
var r, s, t, a, j: longint;
begin
  s := (i mod 10);
  t := 1;
  a := 1;
  r := (i div 10);
  while r > 0 do
  begin
    s := s + (r mod 10);
    r := (r div 10);
    inc(a);
  end;
  for j := 1 to a do
    t := t * s;
  if t = i then
    Armstr := true
  else
    Armstr := false;
end;
begin
  clrscr;
  write(‘K: ‘); readln(k);
  for i := 1 to k do
    if Armstr(i) then
      writeln(i, ‘ ‘);
  readln;
end.

Ответ

Программа выводит все числа Армстронга от $$1$$ до $$k$$.



Общая оценка
3.8 / 5
Другие учебники
Другие предметы