展开全部
这个代码的思路:因为要满足1:2:3,所以从i=123开始,列出每组可能的值,就是:
i,2i=j,3i=k
建立一个长度为10的数组,记录i j k代表的三位数字是否出现过。
如果出现一个,就在数组中对应位置做一个标记。
比如一个三位数378,会在数组的3、7、8位标记为1。
如果三个三位数正好在数组中标记了9个不同的位置,那么此组数符合要求。否则不符合。
--------------
对于一个三位数 i=378,要分别提取个位 十位 百位的数字,
i/100 的值,就是百位,378/100=3, 数组的第3个位置标记为1,a[3]=1
i%10的值,就是个位,378%10=8, 数组的第8个位置标记为1,a[8]=1
i/10%10的值,就是十位,378/10%10=7, 数组的第7个位置标记为1,a[7]=1
-----
详细解释,望采纳,
i,2i=j,3i=k
建立一个长度为10的数组,记录i j k代表的三位数字是否出现过。
如果出现一个,就在数组中对应位置做一个标记。
比如一个三位数378,会在数组的3、7、8位标记为1。
如果三个三位数正好在数组中标记了9个不同的位置,那么此组数符合要求。否则不符合。
--------------
对于一个三位数 i=378,要分别提取个位 十位 百位的数字,
i/100 的值,就是百位,378/100=3, 数组的第3个位置标记为1,a[3]=1
i%10的值,就是个位,378%10=8, 数组的第8个位置标记为1,a[8]=1
i/10%10的值,就是十位,378/10%10=7, 数组的第7个位置标记为1,a[7]=1
-----
详细解释,望采纳,
追问
追答
标记为1方便计算。数组a[10],a[0]=0,如果剩余9个都标记为1,加起来等于9.
等标记结束,检测的时候,全部加起来看看是不是9就可以了。
标记为其他也可以,比如标记为2,如果一组数都符合, 数组a里面除了a[0]=0,其他9个都是2,检测的时候要判断 s 是不是等于18
不用谢,采纳就好。我喜欢答案被采纳。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询