#include <stdio.h>
int main()
{
double num[9];//表示九个数 //如果用int,结果会出错,成两千多
int count=0;//可能总数
for(num[0]=1;num[0]<=9;num[0]++){//固定ABCDEFGHI所对应的数字num[i],改变num[i]的取值,尝试完所有可能搭配后得出结果
for(num[1]=1;num[1]<=9;num[1]++){
if(num[1]==num[0])continue;//continue是跳出当前循环从上一循环开始,实现后一个数与之前出现的数都不重复,从num[0]到num[8]依次出现9个不重复的数,且在循环中可以尝试完所有搭配
for(num[2]=1;num[2]<=9;num[2]++){
if(num[2]==num[0]||num[2]==num[1])continue;
for(num[3]=1;num[3]<=9;num[3]++){
if(num[3]==num[0]||num[3]==num[1]||num[3]==num[2])continue;
for(num[4]=1;num[4]<=9;num[4]++){
if(num[4]==num[0]||num[4]==num[1]||num[4]==num[2]||num[4]==num[3])continue;
for(num[5]=1;num[5]<=9;num[5]++){
if(num[5]==num[0]||num[5]==num[1]||num[5]==num[2]||num[5]==num[3]||num[5]==num[4])continue;
for(num[6]=1;num[6]<=9;num[6]++){
if(num[6]==num[0]||num[6]==num[1]||num[6]==num[2]||num[6]==num[3]||num[6]==num[4]||num[6]==num[5])continue;
for(num[7]=1;num[7]<=9;num[7]++){
if(num[7]==num[0]||num[7]==num[1]||num[7]==num[2]||num[7]==num[3]||num[7]==num[4]||num[7]==num[5]||num[7]==num[6])continue;
for(num[8]=1;num[8]<=9;num[8]++){
if(num[8]==num[0]||num[8]==num[1]||num[8]==num[2]||num[8]==num[3]||num[8]==num[4]||num[8]==num[5]||num[8]==num[6]||num[8]==num[7])continue;
if(num[0]+num[1]/num[2]+(num[3]*100+num[4]*10+num[5])/(num[6]*100+num[7]*10+num[8])==10){
count++;
}
}
}
}
}
}
}
}
}
}
printf("可行总数:%d",count);
return 0;
}
注:引き続き、精密操作(ダブル、int型)