解题思路:
①根据条件缩小第一个数的取值范围,因为最大为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 人评分
简单的a+b (C语言代码)浏览:626 |
数对 (C语言代码)浏览:762 |
字符逆序 (C语言代码)浏览:506 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:585 |
【亲和数】 (C语言代码)浏览:628 |
字符串的输入输出处理 (C语言代码)浏览:1085 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:661 |
P1044 (C++代码)浏览:550 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:476 |
金额的中文大写浏览:3751 |