解题思路:
注意事项:
参考代码:
import itertools #生成由1到9构成的不同四位数,tertools.permutations中生成的一个元素是这种('1','2','3','4')的元组,然后join连接成'1234'再转为int 1234 mulit=[int(''.join(j)) for j in itertools.permutations([str(i) for i in range(1,10)],4)] nums=[str(i) for i in range(1,10)] for m in mulit: #右边(一定是四位数)=一位数X四位数 or 两位数X 三位数,只有这两种可能 for i in range(2,99): #判断能否整除 if m%i==0: $如果能够整除看看这三个数是不是构成1,2,3,4,5,6,7,8,9(这里set比较和顺序无关) if set(list(str(m))+list(str(i))+list(str(m//i)))==set(nums): print('{} = {} x {}'.format(m,i,m//i))
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:653 |
简单的a+b (C语言代码)浏览:644 |
Biggest Number (C++代码)回溯法浏览:1612 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:458 |
人见人爱A+B (C语言代码)浏览:625 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:746 |
C语言训练-求函数值 (C语言代码)浏览:573 |
众数问题 (C语言代码)浏览:821 |
简单的a+b (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:556 |