C語言 大數取餘

2022-08-05 12:00:18 字數 756 閱讀 5607

大數取餘數(陣列)

今天做學校的oj時遇到一題,問題可見一下截圖:

查遍各大論壇,都沒有遇到合適的方法,普通方法不可用,要採用陣列的形式。

被除數超過long long型別,不能採用常規思路,否則會出現wrong answer。值得注意的一點,是不能用double等實數型別,只有整數型別的才可以求餘數;

因此可以考慮利用陣列運算,可以先定義字串陣列char a[5000],下標多打一些沒有關係,以防萬一,到時候可以用scanf("%s",a)解決。

個人的思路是再定義一個整數陣列int b[5000],先把a陣列中的每個字元數字轉換成數字。接下去就是小學生做題目了:

前一個數字先乘以10然後再加上後一個數,進行取餘數,餘數再乘以10加上後一個數,以此往復即可。

完整**如下:

1 #include 2 #include 

3int

main()416

for(i=0;i)

1720 printf("

%d\n

",b[l-1

]);21}22

return0;

23 }

C 讀取TXT

c 讀取txt檔案實現的一些總結 1 niit txt 預設在 file read bin debug 檔案下 假如你不想程式執行報錯,那麼...

C 讀取TXT

c 讀取txt檔案實現的一些總結 1 niit txt 預設在 file read bin debug 檔案下 假如你不想程式執行報錯,那麼...

C 字串擷取

1 region 擷取指定位元組長度的字串 2 3 擷取指定位元組長度的字串 4 5 原字串 6 擷取位元組長度 7 8public sta...