1023003660h @ 2016-07-28 18:19:46
这个方法更简单快捷,还容易理解
就是循环所有的数,但判断条件更改一下,从0~9每个数字用一次下手,每个数字用一次这1+......+9=45,1*....*9=362880,双重判断保险一些,
但不要忘记判断是否整除,这个坑,请自己体会,不整除的后果,max=80.。。
#include<stdio.h>
int main(){
int a,b,c,h,cj;
int A,B,C,ok=0;
scanf("%d%d%d",&A,&B,&C
for(a=1;a<=1000;a++){
if(a%A==0){
b=a/A*B;
c=a/A*C;
h=(a/100)+(a/10%10)+(a%10)+(b/100)+(b/10%10)+(b%10)+(c/100)+(c/10%10)+(c%10);
cj=(a/100)*(a/10%10)*(a%10)*(b/100)*(b/10%10)*(b%10)*(c/100)*(c/10%10)*(c%10);
if((h==45)&&(cj==362880)){
ok=1;
printf("%d %d %d\n",a,b,c);
}
}
}
if(ok!=1)
printf("No!!!");
return 0;
}
by AnCcat @ 2017-04-08 14:20:18
赞~