问题标题: 洛谷:洛谷:1008

0
0
已解决
邓涵睿
邓涵睿
中级天翼
中级天翼

这题怎么写?

 int a,b,c;
    for(a=123;a<=333;a++)
            {
                b=a*2;
                c=a*3;
                if((a/100+a/10%10+a%10+b/100+b/10%10+b%10+c/100+c/10%10+c%10==1+2+3+4+5+6+7+8+9)&&((a/100)*(a/10%10)*(a%10)*(b/100)*(b/10%10)*(b%10)*(c/100)*(c/10%10)*(c%10)==(1)*(2)*(3)*(4)*(5)*(6)*(7)*(8)*(9)))
                    printf("%d %d %d\n",a,b,c);
            }

最简写法有吗?

 

求助大佬


0
已采纳
潘晨皓
潘晨皓
高级天翼
高级天翼

直接输出!

可以🙆‍

0
0
0
张岳恒
张岳恒
资深光能
资深光能

这是题解OK?

既然你都看题解了,何不继续看下去?

 

0
0
沈峻宇
沈峻宇
资深天翼
资深天翼

那你需要换思路了

用while循环会不会更好呢?

0
被禁言 何冯成
何冯成
中级光能
中级光能

我的方法,最小的那个三位数从123试到329(因为329*3=987),flag数组做9个数字的标志(判断都用到没),如果有数字重复的话,flag数组9个数字之和就会小于9,否则打印三个三位数

我要回答