Как мне написать программу на C / C ++, чтобы проверить, нет ли у Armstrong?

3 Ответы


  • #include
    #include
    void main ()
    {
    int n, r, sum = 0, m;
    clrscr ();
    printf ("введите число");
    scanf ("% d", & n);
    п = м;
    в то время как (n> 0)
    {
    r = n% 10;
    сумма = сумма + г * г * г;
    п = п / 10;
    }
    if (sum == m)
    printf ("нет. Армстронг");
    else
    printf ("не армстронг");
    getch ();
    }
  • В ответе от 8 января на сайте www.geekinterview.com есть пример такой программы для 3-значных чисел.     Не элегантно, но похоже, что это сработает. Нетрудно расширить это, чтобы разрешить другие длины входов (например, 4-значные или более крупные числа), хотя метод возведения цифры в n-ю степень должен быть изменен с метода «NxNxN», использованного в примере, и вы бы необходимо изменить способ извлечения отдельных цифр ввода. По сути, вам сначала нужно разделить цифры в исходном номере на разные переменные (например, если задано 3456, установите переменные i = 3, j = 4, k = 5 и l = 6). Затем вам нужно возвести каждое из этих значений в степень ... Сколько бы цифр ни было в исходном числе (в этом примере - 4), и сложить результаты вместе, а затем сравнить это с суммой отдельных цифр. Это помогает,или вы искали полный код для программы, которая обрабатывала бы ввод переменной длины?
  • Вы знаете понятие числа Армстронга ..
    Например, рассмотрим 153. Сумма кубов цифр 153, которая составляет 1 ^ 3 + 5 ^ 3 + 3 ^ 3 = 153. Так вы решаете, армстронг - нет

Напишите свой ответ

Ваш ответ появится после модерации