Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2014, 18:04   #1
Shyrick
 
Регистрация: 01.12.2013
Сообщений: 9
Лампочка Получить все числа Армстронга, состоящие из трех и четырех цифр.

Получить все числа Армстронга, состоящие из трех и четырех цифр. (Паскаль)
(Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу)
Shyrick вне форума Ответить с цитированием
Старый 06.06.2014, 18:09   #2
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Интересно посмотреть, что сделали самостоятельно..
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 06.06.2014, 21:25   #3
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,680
По умолчанию

Ну вот, немного по разбирался... Подключил функцию возведения в степень и все...
Код:
uses crt;
  
function power(t, k: integer): integer; { Возведение в степень }
var
  res : integer;
begin
  res := 1;
  while (k > 0) do
  begin
    if (k mod 2 = 1) then  
      res := res * t;
    t := t * t;
    k := k div 2;
  end;
  power := res;
end;

var
  n, i, j : integer;
  count :   integer;  { Количество цифр }
  summ :    integer;  { Сумма чисел }
begin
  count := 0;
  summ := 0;
  
  writeln;
  write(' Введите натуральное число (наприм. 123 или 1234): ');
  readln(n);
  
  i := n;
  
  while(i >= 1) do    { Подсчет количество цифр }
  begin
    i := i div 10;
    inc(count);
  end;
  
  i := n;
  for j := 1 to count do { Суммирование и возведение в степень }
  begin
    summ:= summ + power((i mod 10), count);
    i := i div 10;
  end;
  writeln;
  if(summ = n) then
    writeln(' ', n, ' - число Армстронга!')
  else
    writeln(' Не является числом Армстронга.');
end.
Проверяйте!
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить все числа Армстронга, состоящие из трех и четырех цифр. Shyrick Паскаль, Turbo Pascal, PascalABC.NET 1 21.05.2014 06:45
программа нахождения всех чисел Армстронга, состоящих из трех цифр Татьана Помощь студентам 3 17.09.2011 14:23
Получить все меньшие натуральные числа, квадрат суммы цифр которых равен m (C) VIKA1829 Помощь студентам 0 05.04.2011 19:59
Найти все числа Армстронга от 1 до k наташка-ромашка Общие вопросы Delphi 3 31.03.2011 18:21
вводим два числа, получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m Sparky Помощь студентам 2 22.11.2009 21:59