1.一張紙的厚度大約是0.08mm钢拧,對折多少次之后能達(dá)到珠穆朗瑪峰的高度(8848.13米)医寿?
num = 0.08
num1 = 8848.13*10*10*10
n = 1
while True:
if num*(2**n)>num1:
print(n)
break
n +=1
2.古典問題:有一對兔子顿痪,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子痛阻,假如兔子都不死菌瘪,問每個月的兔子總數(shù)為多少?
num = int(input('輸入第幾個月'))
a = 0
b = 1
c = 0
for i in range(1,num):
c = a+b
a = b
b = c
print(c*2)
3阱当, 將一個正整數(shù)分解質(zhì)因數(shù)俏扩。例如:輸入90,打印出90=2x3x3x5。
num = int(input('請輸入一個數(shù):'))
num1 = 0
print(num,end='=')
while True:
i = 1
while 1 <= i < num**0.5+1:
i +=1
if num% i ==0:
if num == i:
print(num,end='')
break
print( i,end='*')
break
else:
print(num,end='')
break
num =num // i
if num == 1:
break
4.輸入兩個正整數(shù)m和n斗这,求其最大公約數(shù)和最小公倍數(shù)动猬。 程序分析:利用輾除法。
m = int(input('請輸入一個整數(shù):'))
n = int(input('請輸入另一個整數(shù):'))
w = 0
for i in range(1,m+1):
if m % i ==0:
for z in range(1,n+1):
if n % z ==0:
if i == z:
w = i
print('最大公約數(shù)為:',w)
z = 0
i = 1
while True:
z = m * i
i +=1
if z % n ==0:
print('最小公倍數(shù)為:',z)
break
- 一個數(shù)如果恰好等于它的因子之和表箭,這個數(shù)就稱為 "完數(shù) "赁咙。例如6=1+2+3. 編程 找出1000以內(nèi)的所有完數(shù)
n = 6
d = 0
for n in range(1,1001):
d =0
for z in range(1,n):
if n % z ==0:
d +=z
if d == n:
print(d)
6.輸入某年某月某日,判斷這一天是這一年的第幾天免钻? 程序分析:以3月5日為例彼水,應(yīng)該先把前兩個月的加起來,然后再加上5天即本年的第幾天极舔,特殊情況凤覆,閏年且輸入月份大于3時需考慮多加一天。
a = int(input('請輸入年:'))
b = int(input('請輸入月:'))
c = int(input('請輸入日:'))
d = 0
e = 0
f = 0
g = 0
if (a % 4 ==0 and a % 100 != 0)or a % 400 ==0:
for i in (31,29,31,30,31,30,31,31,30,31,30,31):
d +=1
e +=i
if b == 1:
print(c)
break
elif b == 12:
print(336+c)
break
elif d > b-1:
print(e+c)
break
else:
for i in (31,28,31,30,31,30,31,31,30,31,30,31):
f +=1
g +=i
if b == 1:
print(c)
break
elif b ==12:
print(335+c)
break
elif f > b-1:
print(g+c)
break
7.某個公司采用公用電話傳遞數(shù)據(jù)拆魏,數(shù)據(jù)是四位的整數(shù)盯桦,在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字渤刃,再將第一位和第四位交換拥峦,第二位和第三位交換。求輸入的四位整數(shù)加密后的值
num = input('請輸入一個四位數(shù):')
a = (int(num[0])+5)%10
b = (int(num[1])+5)%10
c = (int(num[2])+5)%10
d = (int(num[3])+5)%10
print('加密的四位數(shù)是:',d*1000+c*100+b*10+a)
8.獲取第n個丑數(shù)卖子。 什么是丑數(shù): 因子只包含2略号,3,5的數(shù)
6 =1* 2*3 -> 丑數(shù)
2 = 1*2 -> 丑數(shù)
7 = 1*7 -> 不是丑數(shù)
1, 2, 3, 4, 5, 6, 8,9,10, 12 ….
q = int(input('獲取第幾個丑數(shù):'))
g = 0
if q ==1:
print(1)
for a in range(1,q*100):
d = m = n = f = 0
if a % 2 == 0 or a % 3 == 0 or a % 5 == 0:
while True:
if a % 2 == 0:
a = a / 2
d += 1
if d == 1:
m = 2 * a
elif a % 3 == 0:
a = a / 3
d += 1
if d == 1:
n = 3 * a
elif a % 5 == 0:
a = a / 5
d += 1
if d == 1:
f = 5 * a
else:
break
if a == 1:
if m != 0:
#print(m)
g += 1
if g == q-1:
print(m)
break
elif n != 0:
#print(n)
g += 1
if g ==q-1:
print(n)
break
else:
#print(f)
g += 1
if g ==q-1:
print(f)
break