【编程实现】
数字组合。 用户输入一个正整数 N(3<=N<=9)。从 0 到 N 之间的所有正整数(包含 0 和 N)中选择三个,组成一个三位数(0 不能作为百位数),且这个三位数为奇数,请计算出共有多少种满足条件的三位数组合。
(注意:组成的三位数各位上的数字不能重复)
输入描述:输入一个正整数 N(3<=N<=9)
输出描述:输出满足条件的三位数组合的个数
【样例输入】 3
【样例输出】 8
【上述输入输出样例的进一步解释】 用户输入的正整数,即样例输入为 3,也就是将 0、1、2、3 四个数字进行组 合。符合要求的三位数为:103、123、203、213、201、231、301、321 共 8 个,所以样例输出为 8。
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
import itertools
n = int(input("请输入一个整数3-9:"))
li = list(range(n+1))
t = itertools.permutations(li,3)
s = 0
for x in t:
if x[0] != 0 and x[-1]%2==1:
s += 1
print(s)
num = int(input())
ns = [n for n in range(num+1)]
ps = ['{}{}{}'.format(a, b, c) for a in ns for b in ns for c in ns if a!=0 and a!=b and b!=c and a!=c and c%2==1]
print(len(ps))
暴力跑起来