隔板法求解不定方程x1 x2 x3 5解的個數

2021-10-23 10:39:43 字數 760 閱讀 1871

將不定方程想象成解決小球的問題:5個小球排成一排,中間形成4個空隙,將兩個隔板插入到這4個空隙中,使5個小球被分為3部分:

注: 因為要求是正整數,所以每空至多插入一塊隔板,否則球被分為2部分,意味著存在為0的解,不符合「正整數」的限制

隔板分割的球數則代表了x1,x2,x3對應的值,解的個數為:c(4,2)=6個

當限制條件變為非負整數時,意味著解的值是可以為0的,代表這在之前求解正整數時「至多一塊隔板」的情況在這裡就不成立了。

但如果給x1,x2,x3分別+1小球,之前的方法是不是又成立了?

方程轉化為:

(x1+1)+(x2+1)+(x3+1)=5+1+1+1=8

那麼隔板法就變成將8個小球分為3個部分,如下圖所示:

則非負整數解的個數,對應著用2塊隔板將8個小球分為3部分的情況,或者理解為將8個相同小球放入3個不同的盒子裡,每個盒子不能為空。

最後計算結果:c(a+b-1,b-1)=c(7,2)=21

不定方程求解

不定方程ax by c,對於給定的係數a和b 常數項c,求出在區間p q範圍內方程的乙個整數解x y,滿足x和y不全為0且x取值最大。題目保證a b c x y p q都是 10000 10000範圍之內的整數。輸入分為兩部分,第一部分是三個整數a b c且a b不為0,第二部分包含多組輸入,每組輸...

4139 不定方程求解

總時間限制 1000ms 記憶體限制 65536kb 描述給定正整數a,b,c。求不定方程 ax by c 關於未知數x和y的所有非負整數解組數。輸入一行,包含三個正整數a,b,c,兩個整數之間用單個空格隔開。每個數均不大於1000。輸出乙個整數,即不定方程的非負整數解組數。樣例輸入 2 3 18 ...

不定方程求解 列舉

小蒜給定正整數 a,b,c。求不定方程 ax by c 關於未知數 x 和 y 的所有非負整數解組數。輸入格式 一行,包含三個正整數 a,b,c,兩個整數之間用單個空格隔開。每個數均不大於 1000。輸出格式 乙個整數,即不定方程的非負整數解組數。輸出時每行末尾的多餘空格,不影響答案正確性 樣例輸入...