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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Rocbis
1 / 1 / 0
Регистрация: 05.10.2013
Сообщений: 75
#1

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

10.10.2013, 17:02. Просмотров 1409. Ответов 3
Метки нет (Все метки)

Натуральное число из n цифр является числом Армстронга , если сумма его цифр, возведенных в n-ую степень, равна самому числу. Например: 153=1^3 + 5^3 + 3^3 . Получить все числа Армстронга, состоящие из трех цифр.

Предлагаю помочь мне ,сделать данную задачку, хотя я был бы рад и просто наводке на её решение. Для меня данная задача является сложной.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2013, 17:02     Число Армстронга
Посмотрите здесь:

C++ Числа армстронга
Число Армстронга. C++
Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу C++
числа Армстронга C++
Числа Армстронга C++
C++ Натуральное число из n цифр называется числом Армстронга
C++ Числа Армстронга
Числа Армстронга C++
C++ Число армстронга
C++ Не находит число Армстронга
Число Армстронга C++
Числа* Армстронга C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4880 / 3016 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 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
Сообщений: 75
10.10.2013, 17:40  [ТС]     Число Армстронга #3
спасибо, разобрался
gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 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     Число Армстронга
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru