公雞每只5元,母雞每只3元,小雞1元三隻。
n元錢必須剛好買n隻雞,而且雞必須整隻買,不能分開買。
有幾種買法呢?
在一行中輸入乙個正整數n。
在一行中輸出兩個整數c,s。中間用乙個空格隔開,表示n元錢買n知己共有c種買法,且所有賣法的公雞數量之和是s。
100
4
24
我的**如下:n =
int(
input()
)count =
0s =
0for x in
range
(n //5)
: y =(2
* n -
14* x)/8
z = n - y - x
if y ==
int(y)
and y >=
0and z >=0:
count +=
1 s += x
if count >0:
print
(count, s)
else
:print(0
,-1)
我的思路
看到這個問題第一反應就是使用迴圈,要先確定取值範圍
首先公雞的數量肯定要小於n,進一步推進就要小於n//5(理由就是乙隻公雞5元)
兩個數學表示式
x + y + z = n (公雞,母雞和小雞的和應該等於n)
5x + 3y + z/3 = n
消去z的話表示式就變成了: 14x + 8y = 2n
又因為z = n - x - y
最後判斷一下y必須是整數就行了,理由就是公雞是整數,母雞也是證書的話那麼小雞也是這個樣子的。
得到結果
學習體會
不是特別難的乙個小練習。不過感覺也不是特別好想解決辦法。一開始我用的三重迴圈,不過效果比較一般,換成這種思路的話效率高了一些。每天來乙個python小練習保持一下手感。程式設計能力總是在實戰中練習起來的。
你可以的!你總是這樣相信著自己!
python解決百錢買百雞
現有100錢,公雞5文錢乙隻,母雞3文錢乙隻,小雞一文錢3只 要求 公雞 母雞,小雞都要有,把100文錢花完,買的雞的數量正好是100。問 一共能買多少只公雞,多少只母雞,多少只小雞?窮舉法 方案一 思路 第一重迴圈公雞從1只迴圈到100只 第二重迴圈母雞從1只迴圈到100只 第三重迴圈小雞從1只迴...
用Python解決x的n次方問題
我考慮到了x的所有n次的情況,下面的 有可能是不完美的,但是肯定是對的。def aaa x,n a is程式設計客棧instance x,int,float 這是考慮x和n的型別,需要滿足條件才可以 if a true 往下執行 return none b isinstance n,int,floa...
用python程式設計 百錢買百雞
第一種方法是利用隨機數來判斷,可以得出花費100塊錢,買各種各樣總和為100只的雞 author momo 百錢買百雞,現有100文錢,公雞5文錢乙隻,母雞3文錢乙隻,小雞一文錢3只,要求 公雞,母雞,小雞都要有,把100文錢 買100隻雞,買的雞是整數。多少只公雞,多少只母雞多少只小雞?impor...