不来虚的,直接上代码:
#include<stdio.h>
int a[10];//用来计算各个数字的个数,分别是从0到9
int amount=0;//计算总共的这个符合要求的数的对数
int find(int i)
{
int j,b,c;
int flag=1;//标志量,如果为1则说明没有重复的数字的个数,为符合要求的
int count=0;
for(j=0;j<10;j++)
a[j]=count;//让开始的个数都为0,以便计算
b=2*i;
c=b+i*100000;//链接两个数,更方便计算最后是不是有重复的数字
for(j=1;j<=9;j++)
{
count=c%10;
c=c/10;
a[count]=a[count]+1;
if(a[count]>1)
flag=0;//判断是否有重复的数字
}
if(flag==1)
{
printf("%6d%6d\n",i,b);
amount=amount+1;//输出
}
else
return 0;
}
void main()
{
int i;
for(i=5000;i<9999;i++)
find(i);
printf("符合要求的数共有%d对!",amount);
}
结果如下: