day5-作業(yè)2

1.一張紙的厚度大約是0.08mm,對(duì)折多少次之后能達(dá)到珠穆朗瑪峰的高度(8848.13米)?

paper_thi = 0.08
times = 0    # 折疊次數(shù)
while True:
    times += 1
    paper_thi *= 2
    if paper_thi > 8848130:
        break
print(times)
  1. 古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,問(wèn)每個(gè)月的兔子總數(shù)為多少?
n = int(input('請(qǐng)輸入n個(gè)月:'))
a = 0
b = 1
for _ in range(n):
    a, b = b, a + b
print('第%d個(gè)月后兔字總數(shù)為%d個(gè)' % (n, 2 * a))
  1. 將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2x3x3x5。
n = int(input('輸入整數(shù):'))
all_pri = []   # n以內(nèi)全部質(zhì)數(shù)
prime_factor = []   #質(zhì)因數(shù)
for i in range(2, n + 1):
    for j in range(2, i):
        if i % j == 0:
            break
    else:
        all_pri.append(i)      #將n以內(nèi)全部質(zhì)數(shù)找出來(lái)
e = n
while True:
    if e in all_pri:   # 判斷商是否在全部質(zhì)數(shù)內(nèi)
        prime_factor.append(e)  
        break
    for index in all_pri:   #商被質(zhì)數(shù)整除
        if e % index == 0:
            e = int(e / index)
            prime_factor.append(index)
            break
print('%d='% n, end='')   # 輸出全部質(zhì)因數(shù)
for i in range(len(prime_factor) - 1):
    print(prime_factor[i], end='*')
print(prime_factor[-1])
  1. 輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。 程序分析:利用輾除法。
m = int(input('m='))
n = int(input('n='))
if m > n:
    m, n = n, m
for x in range(m, 0, -1):
    if m % x == 0 and n % x == 0:  # 判斷是否是最大公約數(shù)
        print('最大公約數(shù)是:%d' % x)
        break
for x in range(n, n * m + 1):
    if x % m == 0 and x % n == 0:   #判斷是否是最小公倍數(shù)
        print('最小公倍數(shù)是:%d' % x)
        break
  1. 一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱(chēng)為 "完數(shù) "。例如6=1+2+3. 編程 找出1000以內(nèi)的所有完數(shù)
for x in range(1, 1001):
    sum1 = 0
    for j in range(1, x):
        if x % j == 0:   # 判斷是否是因子
            sum1 += j
    if x == sum1:
        print(x,end=' ')

6.輸入某年某月某日,判斷這一天是這一年的第幾天? 程序分析:以3月5日為例,應(yīng)該先把前兩個(gè)月的加起來(lái),然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時(shí)需考慮多加一天。

year = int(input('輸入年份:'))
month = int(input('輸入月份:'))
day = int(input('輸入幾日:'))
days = 0
# 非瑞年每個(gè)月天數(shù)
month_days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] 
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:  # 判斷是否是閏年
    if month > 2:  # 閏年月份大于2月的天數(shù)
        for x in range(month - 1):
            days += month_days[x]
        print('這是%d年第%d天'%(year, days + day + 1))
    else:   # 閏年月份小于3月份的天數(shù)
        for x in range(month - 1):
            days += month_days[x]
        print('這是%d年第%d天' % (year, days + day))
else:    # 非閏年的天數(shù)
    for x in range(month - 1):
        days += month_days[x]
    print('這是%d年第%d天' % (year, days + day))
  1. 某個(gè)公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過(guò)程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。求輸入的四位整數(shù)加密后的值
password = int(input('請(qǐng)輸入四位整數(shù)'))
q = (password // 1000 + 5) % 10
b = (password // 100 % 10 + 5) % 10
s = (password % 100 // 10 + 5) % 10
g = (password % 10 + 5) % 10
print('%d%d%d%d' % (g, s, b, q))
  1. 獲取第n個(gè)丑數(shù)。 什么是丑數(shù): 因子只包含2,3,5的數(shù)
    6 =1* 23 -> 丑數(shù)
    2 = 1
    2 -> 丑數(shù)
    7 = 1*7 -> 不是丑數(shù)
    1, 2, 3, 4, 5, 6, 8,9,10, 12 ….
n = int(input('請(qǐng)輸入第幾個(gè)數(shù):'))
count = 0  # 第幾個(gè)
i = 0  # 自然數(shù)
while True:
    if count == n:      # 輸出第n個(gè)丑數(shù)
        print('第%d個(gè)數(shù)是%d' % (n, i))
        break
    i += 1
    for x in range(i // 2 + 1):
        for y in range(i // 3 + 1):
            for z in range(i // 5 + 1):
                if 2 ** x * 3 ** y * 5 ** z == i:   # 判斷自然數(shù)i是否只有2,3,5質(zhì)因子
                    count += 1
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.一張紙的厚度大約是0.08mm,對(duì)折多少次之后能達(dá)到珠穆朗瑪峰的高度(8848.13米)? 2. 古典問(wèn)題:有...
    數(shù)番番閱讀 339評(píng)論 0 0
  • 1.一張紙的厚度大約是0.08mm,對(duì)折多少次之后能達(dá)到珠穆朗瑪峰的高度(8848.13米)? 2. 古典問(wèn)題:有...
    風(fēng)月辭寒閱讀 180評(píng)論 0 0
  • 1.控制臺(tái)輸入年齡,根據(jù)年齡輸出不同的提示(例如:老年人,青壯年,成年人,未成年,兒童) 2.計(jì)算5的階乘 5!的...
    楊海py閱讀 194評(píng)論 0 0
  • 1.已知一個(gè)列表,求列列表中心元素。列表中元素為偶數(shù) 結(jié)果: 列表中元素為奇數(shù) 結(jié)果: 2.已知一個(gè)列表,求所有元...
    HavenYoung閱讀 328評(píng)論 0 3
  • 用生活了
    lygly9閱讀 114評(píng)論 0 0

友情鏈接更多精彩內(nèi)容