满意答案
shaoxx1988
2013.12.18
采纳率:42% 等级:12
已帮助:8528人
这个程序寻找的是10000以内的雷劈数,测试有效。本人能力有限,算法显得拙劣,运算速度慢,可能的话你自己优化下算法吧。#include
#include
#include#define N 10000void Ana(int a,int b,int c)
{
int x,y,i,j[2]={0};
double m,n;
m=c*c;
x=a;
y=b; for(i=0;j[0]==0||j[1]==0;i++)
{
if(x!=0)
x=x/10;
if(x==j[0])
j[0]=i+1;
if(y!=0)
y=y/10;
if(y==j[1])
j[1]=i+1;
}
n=a*pow(10,j[1])+b;
if(n==m)
printf("%d %d---->%.0lf\n",a,b,m);
n=b*pow(10,j[0])+a;
if(n==m)
printf("%d %d---->%.0lf\n",b,a,m);
}void main()
{
int i,j,sum=0;
for(i=1;i
for(j=i+1;j<=N;j++)
{
sum=i+j;
Ana(i,j,sum);
}
}
01分享举报