解题思路:
①根据条件缩小第一个数的取值范围,因为最大为987,最小为123,故第一个数最小为123,最大为987的三分之一即329.对此范围的数进行遍历。
②通过set()函数去重,然后判断集合元素个数是否为3/6/9,最后判断所有组成的数字中有没有零,即可保证三个数不重复地由1~9组成。
注意事项:
注意最后输出格式,一行三个数为一个结果,中间空格隔开。
参考代码:
for i in range(123,330):#范围可以在缩小,最大987,他的三分之一为329,并且第二个和第三个一定是偶数和三倍数 if(len(set(str(i)))==3 and len(set(str(i)+str(2*i)))==6):#set()去重 s=set(str(i)+str(2*i)+str(3*i)) if(len(s)==9 and '0' not in s):#保证最后是1~9而没有0出现 print('{} {} {}'.format(i,2*i,3*i))
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题11.11 (C语言代码)浏览:789 |
C语言考试练习题_保留字母 (C语言代码)浏览:581 |
永远的丰碑 (C语言代码)浏览:658 |
C语言程序设计教程(第三版)课后习题10.1 (Java代码)浏览:1452 |
【蟠桃记】 (C语言代码)浏览:658 |
【数组的距离】 (C语言代码)浏览:752 |
计算质因子 (C++代码)浏览:1677 |
妹子杀手的故事 (C语言代码)浏览:1243 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:700 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1267 |