。。。。。。

P1618 三连击(升级版)

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

赞~


|