Перевести с 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();
Объяснение кода листинга программы
- Пользователю предлагается ввести число.
- Программа сравнивает это число с суммой цифр этого числа.
- Если число равно сумме его цифр, то программа выводит это число и увеличивает счетчик на единицу.
- Затем программа выводит сообщение «natisnit Enter» и ожидает ввода пользователя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д