Python练习实例83 | 求0—7所能组成的奇数个数

这一道题,初步一看,的确是有点迷茫,不知道出题人想要考察的究竟是什么意思,但是仔细琢磨,看是能够明白出题人的意图的。

Python练习实例83 | 求0—7所能组成的奇数个数_第1张图片
小乌龟爬呀爬.jpg

其实,所谓奇数,就是不能够被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日
北京市通州区京贸中心

你可能感兴趣的:(Python练习实例83 | 求0—7所能组成的奇数个数)