基礎算法002-----百錢百雞問題(擴展問題)

百雞問題擴展: N 雞問題
N元錢買N只雞,公雞每隻5元,母雞每隻3元,小雞1元3 只,N元錢必須剛好買N只雞,而且雞必須整隻買,不能劈開買。請問有幾種買法? 
要求:
輸入格式:
在一行中輸入一個正整數N,(N<500)

輸出格式:
在一行中輸出兩個整數c s,中間用一個空格隔開,表示N元錢買N只雞有種共有種買法,且所有買法的公雞數量之和爲s。如果無解,則s爲-1

輸入樣例1:
100

輸出樣例1:
4 24

輸入樣例2:
1

輸出樣例2:
0 -1

解法如下:

n = int( input(  ) )
counter = 0
cock_sum = 0
for cock in range(0,(n+1)):   
	for hen in range(0,(n+1)): 
		for chick in range(0,(n+1)):
			if cock * 5 + hen * 3 + chick == n:
				if cock + hen + chick*3 == n:
					counter += 1
					cock_sum= cock_sum + cock

if counter == 0:
	cock_sum = -1

print("%d %d"%(counter,cock_sum))

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章