問題 1256 詭秘的餘數

2021-10-03 20:29:19 字數 2100 閱讀 9536

不可否認,小強是一名數學天才,大家都這麼說。天才小強的兩大最新發現如下:(1) 正整數n除3的餘數,等價於,正整數n的各位數字之和除3的餘數;(2) 正整數n除9的餘數可以通過這樣的方法來計算:計算n 的各位數之和,設為m,如果m已經是一位數,那麼餘數就是m;否則設n=m,重新進行計算n的各位數之和m,直到m是乙個一位數。但是,正整數除1,2,4,5,6,7,8,也存在類似的性質嗎?這真是乙個難題啊!小強想睡覺了,不去管了。現在請你計算一下正整數n除一位數m的餘數。檔案中有一些數對,一為大整數(可能大到100位)n,另一為一位數m(>0)。求其n除以m的餘數。輸入無

輸出無樣例輸入

23 7

123 9

樣例輸出26

1

02 e.g 1677/

2=13 e.g 1671+

6+7=

141+4

=55/

3=24 e.g 16767/

4=35 e.g 1677/

5=26 e.g 1671+

6+7=

141+4

=57 e.g 167

8 e.g 167

167/8=

79 e.g 1671+

6+7=

141+4

=5對於7來說,從個位數開始每一位都對應乙個餘數,6個數進行一次迴圈1/

7=110

/7=3

100/7=

21000/7

=610000/7

=4100000/7

=5

還是說下原理吧

e.g  11111

9從第一位開始讀取:11%

9=1讀取第二位:111%

9=2(

11=10+

1)讀取第三位:1(20

+1)%

9=3.

..

餘數乘以10就是在假設當前位是個位,然後讀取下一位就是十位,讀取下下位就是百位,以此類推,不斷進行累積除餘。

#include

#include

intmain()

return0;

}

#include

#include

int seven[6]

=;void

chartoint

(char s,

int a)

void

convert

(int n,

int s)

s[0]=i;

for(i=

1;i<=s[0]

/2;i++)}

intdivide_7

(int a)

}return sum%7;

}int

divide_2_4_8

(int a)

return sum;

}int

divide_3_6_9

(int a)

}return a[1]

;}void

divide

(char s,

int b)

; a[0]

=strlen

(s)-1;

//位數

chartoint

(s,a);if

(b%3==0

) result=

divide_3_6_9

(a)%b;

else

if(b==

5) result=a[a[0]

]%5;

else

if(b%2==

0) result=

divide_2_4_8

(a)%b;

else

if(b%7==

0) result=

divide_7

(a);

printf

("%d\n"

, result);}

intmain()

return0;

}

NEUQ 1256 核電站問題

時間限制 1 sec 記憶體限制 128 mb 乙個核電站有n個放核物質的坑,坑排列在一條直線上。如果連續 個坑中放入核物質,則會發生 於是,在某些坑中可能不放核物質。現在,請你計算 對於給定的n,求不發生 的放置核物質的方案總數。輸入檔案只有多行,每行對應乙個正整數n 輸出檔案有多行,每行只有乙個...

餘數問題及分頁邏輯

在整數的除法中,只有能整除與不能整除兩種情況。當不能整除時,就產生餘數,所以餘數問題在小學數學中非常重要。餘數有如下一些重要性質 a,b,c均為自然數 1 餘數小於除數。2 被除數 除數 商 餘數 除數 被除數 餘數 商 商 被除數 餘數 除數。參見下列帖子 public class my 怎麼是2...

NYOJ之九的餘數(大數問題)

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