用python解決N元買N雞問題

2021-10-06 09:52:51 字數 1174 閱讀 7963

公雞每只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...