1.一張紙的厚度大約是0.08mm吵瞻,對折多少次之后能達到珠穆朗瑪峰的高度(8848.13米)积蔚?
paper = 0.08
monten = 8848130
count = 0
while paper<monten:
paper *= 2
count += 1
print(count)
第一題
2. 古典問題:有一對兔子莺治,從出生后第3個月起每個月都生一對兔子捂寿,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死魁瞪,問每個月的兔子總數(shù)為多少穆律?
a = 0
b = 1
count = 0
while count != 6:
print('第%s個月兔子數(shù)為%s' % (count+1,b))
a, b, = b, a+b
count += 1
第二題
3.將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2x3x3x5导俘。
n = 96
k = 2
print('%s=' % n,end='')
while n!=0:
if n % k == 0:
if n / k == 1:
print(k)
else:
print('%s*' % k,end='')
n /= k
if n == 1:
break
continue
else:
k += 1
第三題
4. 輸入兩個正整數(shù)m和n峦耘,求其最大公約數(shù)和最小公倍數(shù)。 程序分析:利用輾除法趟畏。
m = int(input('輸入第一個數(shù):'))
n = int(input('輸入第二個數(shù):'))
if m>n:
m ,n = n, m
i = m
while i>=2:
if m%i == 0 and n%i == 0:
print('最大公約數(shù)為:%s,最小公倍數(shù)為:%s' % (i,m*n/i))
i -= 1
題目四
5. 一個數(shù)如果恰好等于它的因子之和贡歧,這個數(shù)就稱為 "完數(shù) "。例如6=1+2+3. 編程 找出1000以內(nèi)的所有完數(shù)
求出所有因數(shù)并相加赋秀,判斷是否為完全數(shù)
for num in range(1, 1000):
sum1 = 0
i = 1
while i<num:
if num % i == 0:
sum1 += i
i += 1
if sum1 == num:
print(num)
題目五
6.輸入某年某月某日利朵,判斷這一天是這一年的第幾天? 程序分析:以3月5日為例猎莲,應(yīng)該先把前兩個月的加起來绍弟,然后再加上5天即本年的第幾天,特殊情況著洼,閏年且輸入月份大于3時需考慮多加一天樟遣。
date = input('輸入完整日期(xxxx/xx/xx):')
date_list = date.split('/')
year = int(date_list[0])
month = int(date_list[1])
day = int(date_list[2])
jan = 0
feb = 31 + jan
mar = 28 + feb
apl = 31 + mar
may = 30 + apl
jun = 31 + may
jul = 30 + jun
aug = 31 + jul
sep = 31 + aug
octo = 30 + sep
nov = 31 + octo
dec = 30 + nov
date_list_all = [jan, feb, mar, apl, may, jun, jul, aug, sep, octo, nov, dec]
sum1 = 0
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
if month > 2:
sum1 = 1
sum1 = sum1 + date_list_all[month-1] + day
print('%s年的第%s天' % (year, sum1))
else:
sum1 = sum1 + date_list_all[month - 1] + day
print('%s年的第%s天' % (year, sum1))
else:
sum1 = sum1 + date_list_all[month - 1] + day
print('%s年的第%s天' % (year, sum1))
題目六
7. 某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù)身笤,在傳遞過程中是加密的豹悬,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換液荸,第二位和第三位交換瞻佛。求輸入的四位整數(shù)加密后的值
num_str = input('輸入一個四位整數(shù):')
num_list = []
for n in num_str:
num_list.append(str((int(n)+5)%10))
num_list[0], num_list[3] = num_list[3], num_list[0]
num_list[1], num_list[2] = num_list[2], num_list[1]
num = ''.join(num_list)
print(num)
題目七
8.獲取第n個丑數(shù)。 什么是丑數(shù): 因子只包含2,3伤柄,5的數(shù)
n = int(input('輸入n的值:'))
count = 0
i = 2
while count != n:
j = i
while j%2 == 0:
j /= 2
while j%3 == 0:
j /= 3
while j%5 == 0:
j /= 5
if j == 1:
count += 1
i += 1
print('第%s個丑數(shù)是%s' % (count, i-1))
題目八