C语言初学数组题
一个人的年龄的平方是个3位数,立方是个4位数,四次方是个6位数,三次方和四次方正好用变了0-9 10个数,年龄多大?17的四次方83521小于6位,22的3次放10648,要求用数组,while,for等基础语句编写。
回复 楼主 a1295870605
#include<stdio.h>#include<math.h>
int digit[10];
int main()
{
int i,num;int idx;
for(i=10;i<30;i++)
{
memset(digit,0,10*sizeof(int));
num=pow(i,2);
if(num>999){printf("没有满足条%d件的数。\n",num);break;}
num=pow(i,3);
if(num>9999){printf("没有满足条件的数。\n");break;}
do
{
digit[num%10]++;
num/=10;
}while(num);
num=pow(i,4);
if(num>999999){printf("没有满足条件的数。\n");break;}
do
{
digit[num%10]++;
num/=10;
}while(num);
for(idx=0;idx<10;idx++)
if(digit[idx]!=1)
break;
if(idx==10)
{
printf("满足条件的是:%d\n",i);break;
}
}
return 0;
}