VC+编写程序

来源:百度知道 编辑:UC知道 时间:2024/06/16 19:25:52
编写一个程序,打印出所有的“梅花数”所谓的“梅花数”是指一个五位数,其各位数字的五次方和等于该数本身。例如:54748是一个“梅花数”,因为54748=5*5*5*5*5+4*4*4*4*4+7*7*7*7*7+4*4*4*4*4+8*8*8*8*8
最好有注解

#include<iostream>
#include<conio.h>

using namespace std;

int WUCIFANG(int a) //计算各个单位的五次方
{
return a*a*a*a*a;
}
void ShowMH() //显示梅花数
{
int i = 10000;
int Wanwei,Qianwei,Baiwei,Shiwei,Gewei; //定义各个位(个位、十位……)

for(;i<100000;i++) //分别从10000到99999计算 选出梅花数
{
Wanwei = i/10000; //求出每个位
Qianwei = i/1000%10;
Baiwei = i/100%10;
Shiwei = i/10%10;
Gewei = i%10;

if(i==(WUCIFANG(Wanwei)+WUCIFANG(Qianwei)+WUCIFANG(Baiwei)+WUCIFANG(Shiwei)+WUCIFANG(Gewei))) //判断是否为梅花数
cout<<i<<endl; //是则输出,不是继续计算
}
}
void main()
{
ShowMH();
getch();
}