Nyoj 105 九的餘數

2021-06-21 20:54:32 字數 996 閱讀 4118

真崩潰,這居然是小學奧數,不得不佩服中國小孩!

棄九法原理:

在西元前9世紀,有個印度數學家名叫花拉子公尺,寫有一本《花拉子公尺算術》,他們在計算時通常是在乙個鋪有沙子的土板上進行,由於害怕以前的計算結果丟失而經常檢驗加法運算是否正確,他們的檢驗方式是這樣進行的: 

例如:檢驗算式1234+1898+18922+678967+178902=889923。

1234除以9的餘數為1,

1898除以9的餘數為8,

18922除以9的餘數為4,

678967除以9的餘數為7,

178902除以9的餘數為0,

這些餘數的和除以9的餘數為2,而等式右邊和除以9的餘數為3,那麼上面這個式子就是錯誤的。

上面的檢驗方法告訴我們在求乙個自然數除以9 的餘數時,常常不去列除法豎式進行計算,只要計算這個自然數的各個數字之和,再求這個和被9除的餘數即可。在計算的時候往往就是乙個9的找並且劃去,所以這種方法被稱為「棄9法」。

所以我們得出「棄9法」原理:任何乙個整數模同餘它的各數字上數字之和。

以後我們求乙個整數被9除的餘數,只要先計算這個整數各數字上數字之和,再求這個和被9除的餘數即可。 

利用十進位制的這個特性,不僅可以檢驗幾個數相加,對於檢驗相乘、相除和乘方的結果對不對同樣適用 

注意:棄九法只能知道原題一定是錯的或有可能正確,但不能保證一定正確。 

例如:檢驗算式9+9=9時,等式兩邊的除以9的餘數都是0,但是顯然算式是錯誤的 

但是反過來,如果乙個算式一定是正確的,那麼它的等式2兩端一定滿足棄九法的規律。這個思想往往可以幫助我們解決一些較複雜的算式迷問題。

#include #include #include using namespace std;

const int maxn = 1000010;

int main()

return 0;

}

nyoj 105 九的餘數

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在給你乙個自然數n,它的位數小於等於一百萬,現在你要做的就是求出這個數整除九之後的餘數。輸入 第一行有乙個整數m 1 m 8 表示有m組測試資料 隨後m行每行有乙個自然數n。輸出輸出n整除九之後的餘數,每次輸出佔一行。樣例輸入...

nyoj105 九的餘數

時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述現在給你乙個自然數n,它的位數小於等於一百萬,現在你要做的就是求出這個數整除九之後的餘數。輸入第一行有乙個整數m 1 m 8 表示有m組測試資料 隨後m行每行有乙個自然數n。輸出輸出n整除九之後的餘數,每次輸出佔一行。樣例輸入 3...

NYOJ 105 九的餘數(數論)

九的餘數 時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在給你乙個自然數n,它的位數小於等於一百萬,現在你要做的就是求出這個數整除九之後的餘數。輸入 第一行有乙個整數m 1 m 8 表示有m組測試資料 隨後m行每行有乙個自然數n。輸出 輸出n整除九之後的餘數,每次輸出佔一...