编程题目:(最好用C++)
自方幂数:一个n位正整数如果等于它的n个数字的n次方和,该数称为n位自方幂数。三位自方幂数又称水仙花数;四位自方幂数又称玫瑰花数;五位自方幂数又称五角星数;六位自方幂数又...
自方幂数:一个n位正整数如果等于它的n个数字的n次方和,该数称为n位自方幂数。三位自方幂数又称水仙花数;四位自方幂数又称玫瑰花数;五位自方幂数又称五角星数;六位自方幂数又称六合数;试求出所有3~6位自方幂数。
展开
1个回答
展开全部
#include<iostream.h>
#include<math.h>
void main()
{
double a1,a2,a3,a4=0,a5=0,a6=0;
int k=0;
cout<<"三位自方幂数:";
for(int i=100;i<=999;i++)
{
a1=i/100;a2=i/10-a1*10;a3=i-a1*100-a2*10;
if(i==(pow(a1,3)+pow(a2,3)+pow(a3,3)))
cout<<i<<'\t';k++;
if(k==5) cout<<endl;
}
cout<<endl;
k=0;
cout<<"四位自方幂数:";
for(i=1000;i<=9999;i++)
{
a1=i/1000;a2=i/100-a1*10;a3=i/10-a1*100-a2*10;a4=i-a1*1000-a2*100-a3*10;
if(i==(pow(a1,4)+pow(a2,4)+pow(a3,4)+pow(a4,4)))
cout<<i<<'\t';k++;
if(k==5) cout<<endl;
}
cout<<endl;
k=0;
cout<<"五位自方幂数:";
for(i=10000;i<=99999;i++)
{
a1=i/10000;a2=i/1000-a1*10;a3=i/100-a1*100-a2*10;
a4=i/10-a1*1000-a2*100-a3*10;a5=i-a1*10000-a2*1000-a3*100-a4*10;
if(i==(pow(a1,5)+pow(a2,5)+pow(a3,5)+pow(a4,5)+pow(a5,5)))
cout<<i<<'\t';k++;
if(k==5) cout<<endl;
}
cout<<endl;
k=0;
cout<<"六位自方幂数:";
for(i=100000;i<=999999;i++)
{
a1=i/100000;a2=i/10000-a1*10;a3=i/1000-a1*100-a2*10;
a4=i/100-a1*1000-a2*100-a3*10;a5=i/10-a1*10000-a2*1000-a3*100-a4*10;
a6=i-a1*100000-a2*10000-a3*1000-a4*100-a5*10;
if(i==(pow(a1,6)+pow(a2,6)+pow(a3,6)+pow(a4,6)+pow(a5,6)+pow(a6,6)))
cout<<i<<'\t';k++;
if(k==5) cout<<endl;
}
cout<<endl;
}
#include<math.h>
void main()
{
double a1,a2,a3,a4=0,a5=0,a6=0;
int k=0;
cout<<"三位自方幂数:";
for(int i=100;i<=999;i++)
{
a1=i/100;a2=i/10-a1*10;a3=i-a1*100-a2*10;
if(i==(pow(a1,3)+pow(a2,3)+pow(a3,3)))
cout<<i<<'\t';k++;
if(k==5) cout<<endl;
}
cout<<endl;
k=0;
cout<<"四位自方幂数:";
for(i=1000;i<=9999;i++)
{
a1=i/1000;a2=i/100-a1*10;a3=i/10-a1*100-a2*10;a4=i-a1*1000-a2*100-a3*10;
if(i==(pow(a1,4)+pow(a2,4)+pow(a3,4)+pow(a4,4)))
cout<<i<<'\t';k++;
if(k==5) cout<<endl;
}
cout<<endl;
k=0;
cout<<"五位自方幂数:";
for(i=10000;i<=99999;i++)
{
a1=i/10000;a2=i/1000-a1*10;a3=i/100-a1*100-a2*10;
a4=i/10-a1*1000-a2*100-a3*10;a5=i-a1*10000-a2*1000-a3*100-a4*10;
if(i==(pow(a1,5)+pow(a2,5)+pow(a3,5)+pow(a4,5)+pow(a5,5)))
cout<<i<<'\t';k++;
if(k==5) cout<<endl;
}
cout<<endl;
k=0;
cout<<"六位自方幂数:";
for(i=100000;i<=999999;i++)
{
a1=i/100000;a2=i/10000-a1*10;a3=i/1000-a1*100-a2*10;
a4=i/100-a1*1000-a2*100-a3*10;a5=i/10-a1*10000-a2*1000-a3*100-a4*10;
a6=i-a1*100000-a2*10000-a3*1000-a4*100-a5*10;
if(i==(pow(a1,6)+pow(a2,6)+pow(a3,6)+pow(a4,6)+pow(a5,6)+pow(a6,6)))
cout<<i<<'\t';k++;
if(k==5) cout<<endl;
}
cout<<endl;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询