0是不是正整数 0是有理数还是无理数
本次的题目如下所示(原题出处:蓝桥杯)
【编程实现】
用户输入一个正整数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。
这道题也是一个非常经典的算法问题,解决这道题我们还是要使用枚举的方式。关键问题在于如何枚举。我们需要组成一个三位数,从100到321进行枚举吗?这样明显是不合理的,因为中途有大量的数字与题目要求不相符。那这道题最佳的解法是枚举各个数位上的数字。
题目中提出百位数不能是0,那百位数的范围是1到n;十位数没有任何限制,十位数的范围是0到n;个位数要求是奇数,范围是1到n之间的奇数。我们假设百位、十位、个位变量名为i、j、k,那我们可以得出它们的范围分别为:
i:range(1, n + 1)j:range(0, n + 1)k:range(1, n + 1, 2)题目中提出要求,各个数位上的数字不能重复,那在枚举的范围内判断百位、十位、个位两两不相等,则满足条件,通过这个思路,我们很容易得到程序的代码:
n = int(input())
count = 0
for i in range(1, n + 1):
for j in range(0, n + 1):
for k in range(1, n + 1, 2):
if i != j and i != k and j != k:
count += 1
print(count)本题考查的是枚举算法和循环的嵌套,题目难度★★★
此道题其实改编自一道经典题目,原题如下所示:
有 1 、 2 、 3 、 4 个数字,能组成多少个互不相同且无重复数字的三位数?它们分别是多少?
本道题的难度略小于原题,两道题的思路是如出一辙。我们同样是将百位、十位、个位的变量名定义为i、j、k,可以看出,它们的范围都是range(1, 5)。这道题除了要我们求出个数外,还要将这些数全部输出,满足条件的情况下,我们只要使用100 * i + 10 * j + k即可得到这个三位数。
代码如下:
count = 0
for i in range(1, 5):
for j in range(1, 5):
for k in range(1, 5):
if i != j and i != k and j != k:
print(100 * i + 10 * j + k)
count += 1
print(&39;总数:&39;, count)当然,在三个数位上的数字都相同的情况下,我们可以优化一下代码。毕竟这样循环的话,不同数位上的数字相同也参与了循环,增加了循环次数。如果百位上已经选取的数排除掉,十位上则少循环1个数字,十位上选取的数字再排除掉,各位上则少循环2个数字,我们看看如何在进入循环之前将已选中的数字排除掉。
r = list(range(1, 5))
count = 0
for i in r:
t = r[:] 复制一个列表出来
t.remove(i) 进入下一级循环前删除已选中的百位数
for j in t:
u = t[:]
u.remove(j) 进入下一级循环前删除已选中的十位数
for k in u:
print(100 * i + 10 * j + k)
count += 1
print(&39;总数&39;, count)
总投资达15.7亿元 数字湖南十大应用场景建设重点项目出炉
观点网讯:5月4日消息,湖南省工信厅于近日发布2023年数字湖南十大应用场景建设计划重点项目,威胜信息技术股份有限公司等49家企业在建的数字化应用项目入选,计划总投资达15.7亿元。0000最便宜的智能手机 便宜手机100元以下
进入5G时代以来,为了在内部塞入更多的天线,现在的智能手机越来越厚重,贴上钢化膜,带上手机壳之后,就是妥妥的半斤机,这对喜欢躺床上玩手机的人,尤其是手掌小巧的妹子十分不友好,这时候小巧轻薄的高颜值手机就成了人们的刚需。今天就给大家推荐几款比较值得购买的高颜值手机。vivoS12大财经2023-03-25 02:50:360003再的笔顺怎么写 再的笔顺演示视频
田英章毛笔行书偏旁部首之“示字旁”。今天,继续分享行书偏旁部首:示字旁——“礻”。礻,读作shì,汉字偏旁,由“示”变形而来,音同“示”,俗称“示字旁”。从“示”的字,一般与神(包括对大自然的崇拜活动和心理)有关,如神、福、祈、礼、祖、祥等等。行书中的示字旁:大财经2023-03-24 01:01:120000个人所得税怎么申报退税 个人房贷退税流程
哈哈喽~大家好22年个人所得税可以预约退税了早预约早办理最早3月1日开始退钱!中国国家税务总局2月6日发布公告,2022年度个人所得税综合所得汇算清缴办理时间为2023年3月1日至6月30日。自2023年2月16日起,纳税人可预约3月1日至3月20日中任意一天办理2022年度个人所得税综合所得年度汇算。早预约早退钱,不预约就只有等3月21咯~手机预约教程大财经2023-03-21 11:03:580000天风宏观:我们可能正在经历一个短暂的信用收缩
主观方面,我们预计财政、准财政重新驱动基建发力的窗口可能在今年7月,而央行重新发力宽信用可能会在8月。客观方面,我们预计乐观情况下,6-7月能够完成本轮存量隐性债务的甄别、审计,从而结束地方融资平台债务的被动收缩。因此,我们预计三季度开始,信用可能会结束短暂的收缩过程,重新回到扩张的趋势上来。大财经2023-06-03 01:39:080000