|
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int i,w;
long a,b,sum,p;
for (a=1;a<1000000;a++)
{
for(b=1;b<1000000;b++)
{
for(i=1;i<10;i++)
{
w=(int)ceil(pow(10,i));
if(b/w==0)
{
//printf("%d\n",i);
break;
}
}
sum=a*w+b;
p=(a+b)*(a+b);
if(sum==p&&p<=999999999999)
printf("a=%ld b=%ld ab=%ld\n",a,b,sum);
}
}
system("pause");
return 0;
}
对log10()函数不太了解,用稍微熟悉的方法写了个,应该没错。
只是出答案的速度太慢了点。呵呵三重循环。
|
|