a,b,c分别由123,456,789,这九个数组成,且没有重复的,且不存在零,求满足c=a+b的值的个数
#include<iostream>
using namespace std;
int x[10];
int pd(int a,int b,int c)
{
for(int i=1;i<=9;i++) x[i]=0;//每次判断前都要初始化
x[0]=1;//因为题目中没有零
while(a!=0)
{
if(x[a%10]==1) return 0;
else x[a%10]=1;
if(x[b%10]==1) return 0;
else x[b%10]=1;
if(x[c%10]==1) return 0;
else x[c%10]=1;
a=a/10;
b=b/10;
c=c/10;
}
return 1;//最后如果上面都满足就返回一
}
int main()
{
int a,b,c;
int ans=0;
for(a=123;a<987;a++)
{
for(b=123;b<987;b++)
{
int c=a+b;
if(pd(a,b,c)&&c<1000)
{
ans++;
cout<<a<<' '<<b<<' '<<c<<endl;
}
}
}
cout<<ans;
}
结果为336