Re: [問題] 跑出來的數字大的很離譜 & 變異數算不出來

看板C_and_CPP作者 (偶爾想擺爛一下)時間14年前 (2010/04/20 20:40), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
: 程式碼在此:http://paste.plurk.com/show/235295/ : : : 這個程式是在寫一個叫做「孫子問題」的解(又被叫做韓信點兵) : : 題目大意: : x = 3a + 2 : = 5b + 3 : = 7c + 2 : 求x的整數解,然後這個code是要求第五個與第七個整數解 : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 140.114.219.129 : 推 wunshiun:其實不用for, sol[i] = 23+105*i; 這個就是第i個解 04/20 01:39 : 推 QQ29:我剛剛想用國中時代的數學方式想說23怎麼得來的~我發現用湊的 04/20 01:51 : → QQ29:有辦法用算的嗎? 04/20 01:51 不曉得你提到"用湊的"是指哪一種方式? 韓信點兵有簡單的算法(也許你也會認為這是用湊的)。 x % 3 = 2 x % 5 = 3 x % 7 = 2 求 x。 解法是分別求滿足其中一個條件的數值同時正交於其他兩個條件。 1) x % 3 = 2 (5 * 7) % 3 = 35 % 3 = 2 # 2) x % 5 = 3 (3 * 7) % 5 = 21 % 5 = 1 (21 * 3) % 5 = 63 % 5 = 3 # 3) x % 7 = 2 (3 * 5) % 7 = 15 % 7 = 1 (15 * 2) % 7 = 30 % 7 = 2 # 把三個 case 求得的數值加起來即是一解: 35 + 63 + 30 = 128 任一解減去 3, 5, 7 最小公倍數 105 的倍數可得最小正整數解:128 - 105 = 23 不過,這好像跟 C/C++ 沒有直接關係,所以..... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.137.58 ※ 編輯: sbrhsieh 來自: 218.173.137.58 (04/20 20:46)

04/20 22:12, , 1F
小弟我懷疑這些東西我有沒有從數學老師那裡得到過Orz
04/20 22:12, 1F
※ 編輯: sbrhsieh 來自: 218.173.137.58 (04/20 22:23)

04/21 11:43, , 2F
中國剩餘定理, 有聽過三人同行七十稀,五樹梅花廿一枝嗎? XD
04/21 11:43, 2F
文章代碼(AID): #1BpQ38D_ (C_and_CPP)
文章代碼(AID): #1BpQ38D_ (C_and_CPP)