1.一張紙的厚度大約是0.08mm卑雁,對折多少次之后能達到珠穆朗瑪峰的高度(8848.13米)募书?
h=0.08
count=0
while h<=8848130:
h=h*2
count=count+1
print(count)
- 古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子测蹲,小兔子長到第三個月后每個月又生一對兔子莹捡,假如兔子都不死,問每個月的兔子總數(shù)為多少扣甲?
month=int(input("輸入月份:"))
if month<=3:
print(1)
else:
last_1=1
last_2=1
for i in range(3,month):
now=last_2+last_1
last_2,last_1=last_1,now
print(now)
- 將一個正整數(shù)分解質(zhì)因數(shù)篮赢。例如:輸入90,打印出90=2x3x3x5。
num=int(input("輸入一個正整數(shù):"))
while num!=0:
x=2
while num%x!=0 and x<num :
x=x+1
if num%x==0 and num!=x:
print("%d×"%(x),end="")
elif num%x==0:
print(x)
num=num//x
- 輸入兩個正整數(shù)m和n琉挖,求其最大公約數(shù)和最小公倍數(shù)启泣。 程序分析:利用輾除法。
m = int(input("輸入m:"))
n = int(input("輸入n:"))
mini=min(m,n)
maxi=max(m,n)
while maxi%mini!=0:
maxi,mini=mini,maxi%mini
print("最大公約數(shù)是:%d"%(mini))
print("最小公倍數(shù)是:%d"%(m*n//mini))
6.輸入某年某月某日示辈,判斷這一天是這一年的第幾天寥茫? 程序分析:以3月5日為例,應(yīng)該先把前兩個月的加起來矾麻,然后再加上5天即本年的第幾天纱耻,特殊情況,閏年且輸入月份大于3時需考慮多加一天险耀。
year=int(input("輸入年份:"))
month=int(input("輸入月份:"))
day=int(input("輸入日:"))
flag=0
if (year%4==0 and year%100!=0) or (year%400==0):
flag=1
if month<2:
print("第%d天"%(day))
if month>1:
day=day+31
if month>2:
day=day+28
if month>3:
day=day+31
if month>4:
day=day+30
if month>5:
day=day+31
if month>6:
day=day+30
if month>7:
day=day+31
if month>8:
day=day+31
if month>9:
day=day+30
if month>10:
day=day+31
if month>11:
day=day+30
if flag==1 and month>2:
day=day+1
print("第%d天"%(day))
- 某個公司采用公用電話傳遞數(shù)據(jù)弄喘,數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的甩牺,加密規(guī)則如下:
每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字蘑志,再將第一位和第四位交換,第二位和第三位交換贬派。求輸入的四位整數(shù)加密后的值
num=int(input("輸入數(shù)據(jù):"))
g=(num%10+5)%10
s=(num%100//10+5)%10
b=(num%1000//100+5)%10
q=(num%10000//1000+5)%10
g,s,b,q=q,b,s,g
print("數(shù)字是%d%d%d%d"%(q,b,s,g))
-
獲取第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 ….
num=int(input("第幾個:"))
flag=1
n=1
while num!=0:
temp=n
# 判斷temp是否是丑數(shù)
while temp!=0:
i=2
while temp%i!=0 and i<=temp:
i=i+1
if i!=2 and i!=3 and i!=5:
flag=0
temp=0
temp=temp//i
n=n+1
if flag==1:
num=num-1
flag=1
print(n-1)