1. 7个循环
#include<stdio.h>
int main()
{
int xiang,rui,sheng,hui,san,yang,xian,qi;
for(xiang=1; xiang<10; xiang++)
{
for(rui=0; rui<10; rui++)
{
if(xiang!=rui)
{
for(sheng=0; sheng<10; sheng++)
{
if(sheng!=rui&&xiang!=sheng)
{
for(hui=0; hui<10; hui++)
{
if(sheng!=hui&&xiang!=hui&&hui!=rui)
{
for(san=1; san<10; san++)
{
if(san!=hui&&sheng!=san&&san!=rui&&xiang!=san)
{
for(yang=0; yang<10; yang++)
{
if(san!=yang&&yang!=hui&&sheng!=yang&&yang!=rui&&xiang!=yang)
{
for(xian=0; xian<10; xian++)
{
if(xian!=yang&&san!=xian&&xian!=hui&&sheng!=xian&&xian!=rui&&xiang!=xian)
{
for(qi=0; qi<10; qi++)
{
if(qi!=xiang&&qi!=rui&&qi!=sheng&&rui!=hui&&qi!=san&&qi!=yang&&qi!=xian&&qi!=rui)
if((xiang*1000+rui*100+sheng*10+hui+san*1000+yang*100+xian*10+rui)==(san*10000+yang*1000+sheng*100+rui*10+qi))
printf("%d\n",san*1000+yang*100+xian*10+rui);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
全排列
#include<stdio.h>
#include<algorithm>
using namespace std;
int arr[]= {0,1,2,3,4,5,6,7,8,9};
int main()
{
do
{
if((arr[0]*1000+arr[1]*100+arr[2]*10+arr[3]+arr[4]*1000+arr[5]*100+arr[6]*10+arr[1]==arr[4]*10000+arr[5]*1000+arr[2]*100+arr[1]*10+arr[7])&&(arr[0]!=0&&arr[4]!=0))
printf("%d\n",arr[4]*1000+arr[5]*100+arr[6]*10+arr[1]);
}
while(next_permutation(arr,arr+10));
return 0;
}