python程式設計練習 二

2021-08-21 03:19:44 字數 3725 閱讀 9077

一:分蘋果

果園裡有堆蘋果,n(1<n<9)只熊來分。第一隻熊把這堆蘋果平均分為n份,多了乙個,它把多的乙個扔了,拿走了乙份。第二隻熊把剩下的蘋果又平均分成n份,又多了乙個,它同樣把多的乙個扔了,拿走了乙份,第

三、第四直到第n隻熊都是這麼做的,問果園裡原來最少有多少個蘋果?

分析

1:3121-1=3120 每人3120/5=624

2:624x4-1=2495 每人2495/5=499

3:499x4-1=1995 每人1995/5=399

4:399x4-1=1595 每人1595/5=319

5:319x4-1=1275 每人1275/5=25 需要找到數字25x4=1020

n = int(raw_input())

i = 0

while

true:

i += 1

m = i # 假設n=5,則一直找m使其滿足一下迴圈要求,這裡1020滿足要求,遞增得到m值

for j in range(n,0,-1):

if m%(n-1)==0:

m = m*n/(n-1)+1

else:

break

else:

break

print m

二:馬路上的路燈

一段長度為m的主幹道上的一些區域建地鐵。要建地鐵的這些區域可以用它們在數軸上的起始點和終止點表示,已知任一區域的起始點和終止點的座標都是整數,區域之間可能有重合的部分。現在要把這些區域中的路燈(包括區域端點處的兩個路燈)移走。你能幫助小賽計算一下,將這些路燈移走後,馬路上還有多少路燈?

m,n=map(int,raw_input().split())

res,flag =0,0

for i in range(n):

a,b = map(int,raw_input().split())

if a>=flag:

res=res+a-flag

flag=b+1

# print res,flag

res=res+m+1-flag

print res

""">>> 500 3

>>> 100 200

100 201

>>> 150 300

100 301

>>> 360 361

159 362

298=159+500+1-361

"""

三:日期倒計時

輸入乙個日期格式為yyyy-mm-dd,不考慮日期是否小於今天。輸出乙個數字表示今天(2023年10月18日)距離該日期還剩多少天。

分析:在剩下的字元排名第幾個*剩下字元數的階乘

"""

hgebkflacdji

set(['a', 'c', 'b', 'e', 'd', 'g', 'f', 'i', 'h', 'k', 'j', 'l']) hgebkflacdji

7 11 279417600

set(['a', 'c', 'b', 'e', 'd', 'g', 'f', 'i', 'k', 'j', 'l']) gebkflacdji

6 10 21772800

set(['a', 'c', 'b', 'e', 'd', 'f', 'i', 'k', 'j', 'l']) ebkflacdji

4 9 1451520

set(['a', 'c', 'b', 'd', 'f', 'i', 'k', 'j', 'l']) bkflacdji

1 8 40320

set(['a', 'c', 'd', 'f', 'i', 'k', 'j', 'l']) kflacdji

6 7 30240

set(['a', 'c', 'd', 'f', 'i', 'j', 'l']) flacdji

3 6 2160

set(['a', 'c', 'd', 'i', 'j', 'l']) lacdji

5 5 600

set(['a', 'c', 'd', 'i', 'j']) acdji

0 4 0

set(['c', 'd', 'i', 'j']) cdji

0 3 0

set(['d', 'i', 'j']) dji

0 2 0

set(['i', 'j']) ji

1 1 1

set(['i']) i

0 0 0

set()

302715242

"""mdict =

import math

deffunc

(cordinate, string):

print cordinate,string

if string:

length = len(string)

less = 0

for char in cordinate:

if char < string[0]:

less += 1

cordinate.remove(string[0])

# print less,length-1,less * math.factorial(length - 1)

return less * math.factorial(length - 1) + func(cordinate, string[1:])

else:

return

0n = int(raw_input())

for i in range(n):

line = raw_input()

print func(set("abcdefghijkl"), line) + 1

五:上台階
def

getnum

(m):

if m==2:

return

1elif m==3:

return

2else:

a,b=1,2

for i in range(m-3):

b=a+b

a=b-a

return b

n = int(raw_input())

for i in range(n):

m = int(raw_input())

print(getnum(m))

六:約會

一大早bob就從點(0,0)出發,前往約會地點(a,b)。bob沒有一點方向感,因此他每次都隨機的向上下左右四個方向走一步。簡而言之,如果bob當前在(x,y),那麼下一步他有可能到達(x+1,y),(x-1,y),(x,y+1),(x,y-1)。他昨天花了s步到達了約會地點。

分析:next = s-(abs(a)+abs(b))這個距離要大於0,並且差值是2的倍數

"""

這個要考慮多種情況:

next>0

a,b<0

"""a,b,s=map(int,raw_input().split())

next = s-(abs(a)+abs(b))

if next%2==0

and next >=0:

print

'yes'

else:

print

'no'

Python基礎程式設計練習(二)

python基礎程式設計練習 二 輸入a,b的值,用空格隔開 計算結果 n,m map int,input split def getvalue n if n 0 or n 1 return 1else return n getvalue n 1 def value n,m first getval...

程式設計練習(二)

題目 字串 aa bb cc dd ee ff hh ii 每個元素以空格隔開,從這個字串中隨機選擇5個輸出,要求輸出的元素必須符合元素在字串先後位置,例如輸出aa bb cc dd ee aa bb dd ff ii 等等.解決思路 遞迴實現排序組合 實現 public class another...

Python 程式設計練習

進製轉換 import math def main t int input while t 0 t 1 a,b map int input split if a 0 print end a a if a 0 print 0 end t while a 0 a a bfor i in range le...