Перевести с C++ программу, которая считает числа Армстронга - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Вот программа которая считает числа Армстронга
#include<iostream>
 
using namespace std;

unsigned long intpower( unsigned long a, unsigned long n )
{
    unsigned long b,k,p;
 
    b=a;
    k=n;
    p=1;
 
    while (k>0)
    {
        if (k%2 == 0) 
        {
            b *=b;
            k /=2; 
        }
        else
        {
            p *=b;
            k -=1;
        }
    }
    
    return p;
}

void main()
{
  int   t =1;
  const int MIN = 2;
  const int MAX = 8;
  int i, j, n, chislo, suma;
  int a[MAX];
  
  n=MIN;
  for (j=MAX; j>0; j--)
  {
      a[MAX-j] = 0;
  }
  a[MAX-MIN]=1;  
 
  for (i=10; i<100000000; i++)
  {
     
      chislo=0;
      for (j=n; j>0; j--)
      {
          chislo = chislo*10 + a[MAX-j];
      }
    
      suma=0;       
      for (j=n; j>0; j--)
      {
          suma += intpower(a[MAX-j], n);
      }
     
      if (chislo == suma)  cout << chislo << " : " << t++ << "\n";

      a[MAX-1]+=1;
      for (j=MAX-1; j>0; j--)
      {
          if (a[j]>9)
          {
              a[j]=0;
              a[j-1]+=1;
          }
      }
      
      n=MAX;
      while (a[MAX-n] == 0) 
      {
          n--;
      }
  }
  cout<<"\n natisnit Enter";
  cin.get();
}

Решение задачи: «Перевести с C++ программу, которая считает числа Армстронга»

textual
Листинг программы
if (chislo == suma)  cout << chislo << " : " << t++ << "\n";
cout<<"\n natisnit Enter";
cin.get();

Объяснение кода листинга программы

  1. Пользователю предлагается ввести число.
  2. Программа сравнивает это число с суммой цифр этого числа.
  3. Если число равно сумме его цифр, то программа выводит это число и увеличивает счетчик на единицу.
  4. Затем программа выводит сообщение «natisnit Enter» и ожидает ввода пользователя.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы