1.一張紙的厚度大約是0.08mm偶器,對(duì)折多少次之后能達(dá)到珠穆朗瑪峰的高度(8848.13米)搀矫?
thick = 0.08/1000
n=0
while thick<8848.13:
n += 1
thick = thick*2
print("對(duì)折",n,"次")
2. 古典問(wèn)題:有一對(duì)兔子官觅,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子刑峡, 小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子洋闽,假如兔子都不死,問(wèn)每個(gè)月的兔子總數(shù)為多少突梦?
a1 = 0
a2 = 1
month = int(input("輸入第幾個(gè)月"))
for i in range(1,month):
t = a1 + a2
a1 = a2
a2 = t
print("第",i,"個(gè)月",a1)
3. 將一個(gè)正整數(shù)分解質(zhì)因數(shù)诫舅。例如:輸入90,打印出90=2x3x3x5。
num = int(input("請(qǐng)輸入正整數(shù)"))
k = 2
for i in range(2,num):
while k != num:
if num % k == 0:
print(k,end='*')
num = int(num/k)
# print(num)
else :
k += 1
print(num)
4. 輸入兩個(gè)正整數(shù)m和n宫患,求其最大公約數(shù)和最小公倍數(shù)刊懈。 程序分析:利用輾除法。
m = 45
n = 20
m1 = m
n1 = n
if m%n == 0 :
print("最大公約數(shù)",n)
print("最小公倍數(shù)",m)
else:
while m % n!=0:
t = m%n
m,n= n,t
print("最大公約數(shù)為",t)
print("最小公倍數(shù)",int(m1*n1/t))
5.一個(gè)數(shù)如果恰好等于它的因子之和娃闲,這個(gè)數(shù)就稱為 "完數(shù) "虚汛。例如6=1+2+3. 編程 找出1000以內(nèi)的所有完數(shù)
for num in range(5,1000):
n = 1
sum = 0
while n<num:
if num % n == 0:
sum = sum+n
n += 1
if sum == num:
print(num)
6.輸入某年某月某日,判斷這一天是這一年的第幾天皇帮? 程序分析:以3月5日為例卷哩,應(yīng)該先把前兩個(gè)月的加起來(lái),然后再加上5天即本年的第幾天属拾,特殊情況将谊,閏年且輸入月份大于3時(shí)需考慮多加一天冷溶。
year = int(input('輸入年份'))
month = int(input('輸入月份'))
day = int(input('輸入日期'))
if (year%4==0 and year%100 ==0) or year%400==0:
if month == 1:
print('這是今年第:',day,'天')
elif month == 2:
print('這是今年第:',day+31,'天')
elif month == 3:
print('這是今年第:',day+31+29,'天')
elif month == 4:
print('這是今年第:',day+31+29+31,'天')
elif month == 5:
print('這是今年第:',day+31+29+31+30,'天')
elif month == 6:
print('這是今年第:',day+31+29+31+30+31,'天')
elif month == 7:
print('這是今年第:',day+31+29+31+30+31+30,'天')
elif month == 8:
print('這是今年第:',day+31+29+31+30+31+30+31,'天')
elif month == 9:
print('這是今年第:',day+31+29+31+30+31+30+31+31,'天')
elif month == 10:
print('這是今年第:',day+31+29+31+30+31+30+31+31+30,'天')
elif month == 11:
print('這是今年第:',day+31+29+31+30+31+30+31+31+30+31,'天')
elif month == 12:
print('這是今年第:',day+31+29+31+30+31+30+31+31+30+31+30,'天')
else:
if month == 1:
print('這是今年第:',day,'天')
elif month == 2:
print('這是今年第:',day+31,'天')
elif month == 3:
print('這是今年第:',day+31+29-1,'天')
elif month == 4:
print('這是今年第:',day+31+29+31-1,'天')
elif month == 5:
print('這是今年第:',day+31+29+31+30-1,'天')
elif month == 6:
print('這是今年第:',day+31+29+31+30+31-1,'天')
elif month == 7:
print('這是今年第:',day+31+29+31+30+31+30-1,'天')
elif month == 8:
print('這是今年第:',day+31+29+31+30+31+30+31-1,'天')
elif month == 9:
print('這是今年第:',day+31+29+31+30+31+30+31+31-1,'天')
elif month == 10:
print('這是今年第:',day+31+29+31+30+31+30+31+31+30-1,'天')
elif month == 11:
print('這是今年第:',day+31+29+31+30+31+30+31+31+30+31-1,'天')
elif month == 12:
print('這是今年第:',day+31+29+31+30+31+30+31+31+30+31+30-1,'天')
7.某個(gè)公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù)尊浓,在傳遞過(guò)程中是加密的逞频,加密規(guī)則如下: 每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換栋齿,第二位和第三位交換虏劲。求輸入的四位整數(shù)加密后的值
num = 4567
a = num%10
print(a)
b = int(num/10)%10
print(b)
c = int(num/100)%10
print(c)
d = int(num/1000)%10
print(d)
a = (a+5)%10
b = (b+5)%10
c = (c+5)%10
d = (d+5)%10
print(a*1000 +b*100+c *10+d)