1.一張紙的厚度大約是0.08mm,對折多少次之后能達到珠穆朗瑪峰的高度(8848.13米)饮笛?
thick = 0.00008
count = 0
while thick < 8848.13:
count += 1
thick = thick * 2
print('折疊:',count,'次')
print('====================================================')
- 古典問題:有一對兔子判导,從出生后第3個月起每個月都生一對兔子嫉父,小兔子長到第三個月后每個月又生一對兔子沛硅,假如兔子都不死,問每個月的兔子總數(shù)為多少绕辖?
lapin = 1
lapin2 = 1
lapin3 = 0
month = int(input('請輸入第幾個月:'))
if month < 3:
print(lapin)
else:
for n in range(0,month-2):
lapin3 = lapin + lapin2
lapin = lapin2
lapin2 = lapin3
print(lapin3)
print('=====================================================')
3.將一個正整數(shù)分解質因數(shù)摇肌。例如:輸入90,打印出90=2x3x3x5。(沒有排除輸入的數(shù)是質數(shù)的情況仪际,能力有限)
num = int(input('請輸入一個數(shù):'))
num1 = num
n = 2
print(num1,'=',end = '')
while n < num1:
if num % n == 0:
print(n,end = ' x ')
num = num // n
if n == num:
print(num)
break
elif n < num:
n += 1
if n == num:
print(num)
break
4.輸入兩個正整數(shù)m和n围小,求其最大公約數(shù)和最小公倍數(shù)。 程序分析:利用輾除法弟头。
m = int(input('請輸入一個正整數(shù):'))
n = int(input('請輸入一個正整數(shù):'))
n1 = n
m1 = m
k = 0
if m < n:
m,n = n,m
while m > n:
k = m % n
if k == 0:
print('最大公約數(shù)是:',n)
break
else:
m = n
n = k
print('最大公倍數(shù)是:',m1*n1/n)
- 一個數(shù)如果恰好等于它的因子之和吩抓,這個數(shù)就稱為 "完數(shù) "。例如6=1+2+3. 編程 找出1000以內的所有完數(shù)
print('===========================================')
sum1 = 0
print('完數(shù)有:')
for n in range(1,1000):
for m in range(1,n):
if n % m == 0:
sum1 += m
if sum1 == n:
print(n)
sum1 = 0
6.輸入某年某月某日赴恨,判斷這一天是這一年的第幾天疹娶? 程序分析:以3月5日為例,應該先把前兩個月的加起來伦连,然后再加上5天即本年的第幾天雨饺,特殊情況,閏年且輸入月份大于3時需考慮多加一天惑淳。
print('============================================')
year = int(input('輸入年份'))
month = int(input('輸入月份'))
day = int(input('輸入日期'))
"""year = 1999
month = 7
day = 23
"""
if ((year % 100 == 0) and (year % 400 == 0)) or ((year % 100 != 0) and (year % 4 == 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,'天')
- 某個公司采用公用電話傳遞數(shù)據(jù)额港,數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的歧焦,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字移斩,再將第一位和第四位交換,第二位和第三位交換绢馍。求輸入的四位整數(shù)加密后的值
num = int(input('請輸入一個四位數(shù)'))
a = 0
b = 0
c = 0
d = 0
a = (num // 1000 + 5) % 10
b = (num // 100 % 10 + 5) % 10
c = (num % 100 // 10 + 5) % 10
d = (num % 10 + 5) % 10
print(a,b,c,d)
a,b,c,d,= d,c,b,a
print(a,b,c,d)
num =a * 1000 + b * 100 + c * 10 + d
print('加密后的值是:',num)