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

Вывести числа Армстронга от 1 до n - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
delexa
2 / 2 / 1
Регистрация: 02.03.2011
Сообщений: 134
04.12.2012, 20:51     Вывести числа Армстронга от 1 до n #1
Натуральное число, в записи которого z цифр, называется числом Амстронга, если сумма его цифр, возведенная в степень z, равна самому числу. Найти все числа Амстронга от 1 до n.

Пожалуйста, посмотрите код, что в нем не так? первый раз работаю с функцией. Хочу разобраться.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "stdafx.h"
#include <iostream>
#include <math.h>
using namespace std;
int Armstrong(int);
 
int main ()
{    
    int n;
    cout<<"Programma vivodit vse chisla Armstronga ot 1 do n"<<endl;
    cout<<"Vvedite n= "; cin>>n;
    cout<<"Chisla Armstronga : "<<endl;
 
        for (int i=1; i<=n; i++)        // вывожу все числа Армстронга от 1 до n
        cout<<Armstrong(i)<<" ";
 
    system ("pause");
return 0;
}
 
 
int Armstrong(int i)         // - число Армстронга, z-количество чисел;
{ int arm, j, z=1, m=0;     // j-сюда временно коипрую i, m-сумма цифр числа, возведенных в степень количества цифр
  j=i;                       
  while ((j>0)&&(j<9))      // считаю количество цифр
  { j=j/10;
    z++;  }
  int *mas = new int[z];    // массив для хранения каждой цифры числа
  j=i;
  for(int r=0; r>z;r++)         
  { 
    mas[r]=j%10;            // заполнение массива
    j=j/10;
        }
  for (int r=0; r>z; r++)       // нахожу сумму цифр числа, возведенных в степень количества цифр
      m=(int)pow(mas[r],z)+m;  
 
  if (m==i) {arm=m; return arm;}   // если совпадает начальное значение с получившимся, то возвращаю это значение
  else return 0;
  
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 20:51     Вывести числа Армстронга от 1 до n
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1280 / 942 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
04.12.2012, 20:52     Вывести числа Армстронга от 1 до n #2
Была похожая тема
числа Армстронга
Yandex
Объявления
04.12.2012, 20:52     Вывести числа Армстронга от 1 до n
Ответ Создать тему
Опции темы

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