#include <iostream>
using namespace std;
int main()
{
int c= 0;
for (int i1 = 1; i1<= 9 ;i1++) {
for (int j1 = 1; j1<=9 ;j1++) {
for (int k1 = 1; k1<=9 ;k1++) {
if(i1 == j1 || i1 == k1 || k1 == j1) continue;
for (int i2 = 1; i2<=9 ;i2++) {
for (int j2 = 1; j2<=9 ;j2++) {
for (int k2 = 1; k2<=9 ;k2++) {
if(i2 == j2 || i2 == k2 || k2 == j2) continue;
if(i1 == i2 || i1 == j2 || i1 == k2) continue;
if(j1 == i2 || j1 == j2 || j1 == k2) continue;
if(k1 == i2 || k1 == j2 || k1 == k2) continue;
for (int i3 = 1; i3<=9 ;i3++) {
for (int j3 = 1; j3<=9 ;j3++) {
for (int k3 = 1; k3<=9 ;k3++) {
if(i3 == j3 || i3 == k3 || k3 == j3) continue;
if(i1 == i3 || i1 == j3 || i1 == k3) continue;
if(j1 == i3 || j1 == j3 || j1 == k3) continue;
if(k1 == i3 || k1 == j3 || k1 == k3) continue;
if(i2 == i3 || i2 == j3 || i2 == k3) continue;
if(j2 == i3 || j2 == j3 || j2 == k3) continue;
if(k2 == i3 || k2 == j3 || k2 == k3) continue;
int num1 = i1*100 + j1*10 +k1;
int num2 = i2*100 + j2*10 +k2;
int num3 = i3*100 + j3*10 +k3;
if(num1 >= num2) continue;
if(num2 >= num3) continue;
if(num1 + num2 + num3 == 1953){
cout <<"NO. \t"<<num1<<"+"<<num2<<"+"<<num3<<endl;
c++;
}
}
}
}
}
}
}
}
}
}
cout <<"total="<<c;
return 0;
}
运行结果如下:
运行结果:
代码如下:
#include <iostream>
using namespace std;
int main()
{
int n = 1953;
int i,j,k,up=0;
int i2,j2,k2,up2=0;
int i3,j3,k3;
int count = 0;
for (i=1;i<=9;i++)
{
for(j=i+1;j<=9;j++)
{
for(k=j+1;k<=9;k++)
{
if(i==j) continue;
if(i==k) continue;
if(j==k) continue;
if((i+j+k)%10 != 3) continue;
up = (i+j+k)/10;
//cout << i << " " << j << " " << k<< " ="<< (i+j+k)<<endl;
//第二个数
for (i2=1;i2<=9;i2++)
{
for(j2=1;j2<=9;j2++)
{
for(k2=1;k2<=9;k2++)
{
if(i2 == i || i2==j || i2 == k ) continue;
if(j2 == i || j2==j || j2 == k ) continue;
if(k2 == i || k2==j || k2 == k ) continue;
if(i2 == j2 || i2 == k2 || j2==k2) continue;
if( (i2+j2+k2)%10 != (5-up) ) continue;
up2 = (i2+j2+k2)/10;
for(i3=1;i3<=9;i3++)
{
for(j3=1;j3<=9;j3++)
{
k3 = 45 - i-j-k - i2-j2-k2-i3-j3;
if(k3>9 || k3<=0) continue;
if(i3 == i || i3 ==j || i3==k)continue;
if(j3 == i || j3 ==j || j3==j)continue;
if(k3 == i || k3 ==k || k3 ==j)continue;
if(i3 == i2 || i3 ==j2 || i3==k2)continue;
if(j3 == i2 || j3 ==j2 || j3==j2)continue;
if(k3 == i2 || k3 ==k2 || k3 ==j2)continue;
if(i3 == k3 || i3==j3 || k3==j3) continue;
if(i3+j3+k3+up2 == 19)
{
count++;
cout <<"NO. " << count<< " " << i3*100+i2*10+i << "+" << j3*100+j2*10+j << "+" << k3*100+k2*10+k << "=1953"<<endl;
}
}
}
}
}
}
}
}
}
return 0;
}