Форум программистов, компьютерный форум CyberForum.ru

Число Армстронга - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Rocbis
1 / 1 / 0
Регистрация: 05.10.2013
Сообщений: 71
10.10.2013, 17:02     Число Армстронга #1
Натуральное число из n цифр является числом Армстронга , если сумма его цифр, возведенных в n-ую степень, равна самому числу. Например: 153=1^3 + 5^3 + 3^3 . Получить все числа Армстронга, состоящие из трех цифр.

Предлагаю помочь мне ,сделать данную задачку, хотя я был бы рад и просто наводке на её решение. Для меня данная задача является сложной.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
10.10.2013, 17:09     Число Армстронга #2
Для начала надо разложить трехзначное число на цифры:
a = value % 10;
b = value / 10 % 10;
c = value / 100;

Затем ставим условие: if ( value == pow( a, i ) + pow( b, i ) + pow( c, i ) ) { число Армстронга } else { не число Армстронга }
Rocbis
1 / 1 / 0
Регистрация: 05.10.2013
Сообщений: 71
10.10.2013, 17:40  [ТС]     Число Армстронга #3
спасибо, разобрался
gazlan
2861 / 1809 / 272
Регистрация: 27.08.2010
Сообщений: 4,893
Записей в блоге: 1
10.10.2013, 18:04     Число Армстронга #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main(int argc,char** argv)
{
   for (int ii = 0; ii < 1000; ++ii)
   {
      int   k3 = ii / 100;
      int   k2 = (ii - k3 * 100) / 10;
      int   k1 = ii - k3 * 100 - k2 * 10;
 
      if (ii && (ii == (k1 * k1 * k1 + k2 * k2 * k2 + k3 * k3 * k3)))
      {
         printf("%d\n",ii);
      }
   }
   
   return 0;
}
Миниатюры
Число Армстронга  
Yandex
Объявления
10.10.2013, 18:04     Число Армстронга
Ответ Создать тему
Опции темы

Текущее время: 13:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru