那位高手请指教,谢了!
[此贴子已经被作者于2007-5-13 14:20:47编辑过]
某人年龄的3次方是4位数,4次方是6位数
我们可以粗略的知道 该人年龄在10-30之间,
#include<stdio.h>
#include<math.h>
int bijiao(long c,int num); /*检查数字C是否有重复的数字有就返回0没就返回1(num是C的位数)*/
main()
{
long x;
for(x=11;x<30;x++)
{
if(x*x*x<=9999 && x*x*x*x>=100000 && x*x*x*x<=999999)
{
if(bijiao(x*x*x,4) && bijiao(x*x*x*x,6))
printf("x= %ld x^3= %ld x^4= %ld\n",x,x*x*x,x*x*x*x); /*输出符合要求的数据*/
}
}
getch();
}
int bijiao(long c,int num)
{
int a[6],i=0,k=0;
while(c>0) /*提取各个位上的数*/
{
a[i]=c%10;
c=c/10;
i++;
}
for(i=0;i<num;i++)
for(k=0;k<num;k++)
{
if(i!=k)
if(a[i]==a[k])
return 0;
}
return 1;
}
不知道这样做好不好
但是值的一提的是pow()返回的数据类型 是double的
[此贴子已经被作者于2007-5-11 10:30:34编辑过]