我用的暴力法直接做的,十分费时,但是用于只需要输出答案是够了。
#include<stdio.h>
#include<math.h>
int v[1020];
int cat(int x)
{
if(v[x])
return 1;
v[x]=1;
return 0;
}
int main()
{
int sum=0,i,j,k,m,n,yes,ab;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
for(k=1;k<10;k++)
for(m=100;m<1000;m++)
for(n=100;n<1000;n++)
{
for(ab=0;ab<10;ab++)
v[ab]=0;
yes=cat(i)+cat(j)+cat(k)+cat(m%10)+cat(m/10%10)+cat(m/100)+cat(n%10)+cat(n/10%10)+cat(n/100);
if(yes==0)
if((i+j*1.0/k+m*1.0/n)==10)
sum++;
}
printf("%d",sum);
return 0;
}