Day-5 Homework

1.一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)?

n = 0.008
count = 1
while n < 8848130:
    n = 2 * n
    count += 1
print('需要对折',count,'次')
  1. 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
m = int(input('要计算的月数:'))
if m < 3:
    S = 2
elif m < 5:
    S = 2 + 2 * (m - 2)
elif m < 7:
    S = 6
    s = 2
    for _ in range(m - 4):
        s += 2
        S += s
else:
    S = 16
    s1 = 4
    s2 = 6
    for _ in range(m - 6):
        s1,s2 =s2,s1 + s2
        S += s2
print('第',m,'个月有',S,'只兔子')
  1. 将一个正整数分解质因数。例如:输入90,打印出90=2x3x3x5
n = int(input('要计算的数:'))
i = 2
print(n,'= ',end='')
while 1 < i < n:
    if n % i == 0:
        print(i,'* ',end='')
        n = n // i
    else:
        i += 1
print(n)
  1. 输入两个正整数m和n,求其最大公约数和最小公倍数。
m = int(input('m = '))
n = int(input('n = '))
for i in range(m,m*n+1):
    if i % m == 0:
        if i % n == 0:
            print(m,'和',n,'的最小公倍数是',i,'最大公约数是',m*n//i)
            break
  1. 找出1000以内的所有完数
F = []
for i in range(2,1000):
    S = 0
    F.clear()
    for j in range(1,i):
        if i % j == 0:
            F.append(j)
    for k in range(len(F)):
        S += F[k]
    if S == i:
        print(i)

6.输入某年某月某日,判断这一天是这一年的第几天?

y = int(input('year:'))
m = int(input('month:'))
d = int(input('day:'))
list_ly = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
list_oy = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if y % 400 == 0 or y % 100 != 0 and y % 4 ==0:
    n = sum(list_oy[:m]) + d
else:
    n = sum(list_ly[:m]) + d
  1. 某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。求输入的四位整数加密后的值
M = int(input('输入要加密的四位整数:'))
C = []
list_M = [M // 1000, M % 1000 // 100, M % 100 // 10, M % 10]
for index in range(len(list_M)):
    list_M[index] = (list_M[index] + 5) % 10
for item in list_M[::-1]:
    C.append(item)
print(C)
  1. 获取第n个丑数。 什么是丑数: 因子只包含2,3,5的数
n = int(input('获取第几个丑数:'))
i = 1
count = 0
while count != n:
    j = i
    while i % 2 == 0:
        i = i // 2
    while i % 5 == 0:
        i = i // 5
    while i % 3 == 0:
        i = i // 3
    if i == 1:
        count += 1
    i = j + 1
print(j)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)? 对折一次为1.2....
    红石岩下的老斑鸠阅读 179评论 0 0
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    开心的锣鼓阅读 3,394评论 0 9
  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 7,289评论 0 9
  • 1.一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)? 古典问题:有一对兔...
    斗_a3d7阅读 297评论 0 0
  • 1.一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)? h=0.00008...
    pythonefb6阅读 494评论 0 0

友情链接更多精彩内容