这一道题,初步一看,的确是有点迷茫,不知道出题人想要考察的究竟是什么意思,但是仔细琢磨,看是能够明白出题人的意图的。
其实,所谓奇数,就是不能够被2整除的数字,比如:1、3、5、7、9等,而这里,求0—7所能组成的奇数的个数,则我们可以逐步的探索。
规律,大致是如下的:
组成1位数是4个,分别为:1,3,5,7
组成2位数是7*4个,分别为:11,13,15,17,21,23,25,27......71,73,75,77。一共是7乘以4个。
组成3位数是784个,分别为101,103,105,107,111,113,115,117......771,773,775,777。则一共是784个。其中784,第一个7,表示百分位的变化范围,8为十分位的变化范围,4为个数分位的变化范围,三个数字进行排列组合,即可得到数字为3的数字的变化范围。下面组成4位数及再往下的规律,则与此基本上是想通的,达到7个位数,则已经到达至顶峰。
组成4位数是788*4个。
......
下面我们来看下具体的代码:
if __name__ == "__main__": #定义一个程序入口
sum = 4 # 和初始值为4
s = 4 # 每一项的和
for j in range(2,9): # 创建一个2-9的循环
print(sum) # 打印出每一个输出循环的总和来
if j <= 2: # 如果j <= 2
s *= 7 # 每一项的s = s*7
else: # 否则
s *= 8 # 每一项的s = s*8
sum += s # 对每一项s进行求和计算
print("sum = %d"%sum) #打印输出
最终输出计算得出的结果如下所示:
:\Python\python.exe "C:/Users/Administrator/Desktop/Python 练习实例100题/练习83.py"
4
32
256
2048
16384
131072
1048576
sum = 8388608
Process finished with exit code 0
2020年5月31日
北京市通州区京贸中心