P1008 三连击(洛谷新手村)

注意的点:1.1:2:3比例的意思是说组成的三个数字之间是1:2:3,而不是那一个数字的个位百位十位是1:2:3的关系,以后看题要注意;
2.有个数学原理,从1到9的数字,2个集合内所有数相加相乘结果一样,2个集合的内容一样!(这个是个新知识点,要记住)

#include 
#include
int main()
{
    for (int i=123; i<=329; i++)//45q为1~9只和,362880为1~9之乘积
    {//i%10个 i/10%10十 i/100百
        if (45 == i%10+ i/10%10 + i/100 + 2*i%10+ 2*i/10%10 + 2*i/100 + 3*i%10+ 3*i/10%10 + 3*i/100
            && 362880 == (((i%10)*(i/10%10)*(i/100))*((2*i%10)*(2*i/10%10)*(2*i/100))*((3*i%10)*(3*i/10%10)*(3*i/100))))
        {
            printf("%d %d %d\n",i,i*2,i*3);
        }
    }
    return 0;
 }


你可能感兴趣的:(洛谷试炼营)