for(int a=0;a<10;a++){
for(int b=0;b<10;b++){
for(int c=0;c<10;c++){
for(int d=0;d<10;d++){
for(int e=0;e<10;e++){
if(a*e*1000+b*e*100+c*e*10+d*e==d*1000+c*100+b*10+a){
if(a!=0&&e!=0&&e!=1){
printf("a:%d b:%d c:%d d:%d e:%d ",a,b,c,d,e
}
}
}
}
}
}
}
就把a,b,c,d,e都设为变量,a从1到9进行循环,b从0到9进行循环,c从0到9进行循环,d从0到9进行循环,e从2到9进行循环,在循环中,如果满足
(a*1000+b*100+c*10+d)*e==(d*1000+c*100+b*10+a)
那么输出a,b,c,d,e
for(M(1000~9999))
{
m=M;
for(N(0~9))
{t=M*N;
if((M/1000==t%10)
{ M=M%1000;
t=t/10;
if(M/100==t%10) opa==1;
else opa=0;}
}
if(opa==1)printf(m);
}
最简单的方法就是试探的方法,即:a,b,c,d,e都从0开始,到9结束,每个都循环一遍,得出结果了。
就和1,5,10元相加等于100,有多少种组合的问题差不多。