HDU 6108 整除判斷 數學

2022-05-09 18:18:01 字數 736 閱讀 4413

題意是求在給定的 p 進製下,滿足條件的數字 b 有多少。條件:若任何乙個數的各位數字之和能被 b 整除,則該數可被 b 整除。

在 p 進製下,每個正整數都可以都可以表示為:a0*p^0 + a1*p^1 + a2*p^2 +…+an*p^n

(a0*p^0 + a1*p^1 + a2*p^2 +…+an*p^n) % b = 0 ⇒(a0 % b + a1 % b * p^1 % b +…+ an % b * p^n % b)% b = 0    (1)

(a0 + a1 + … + an) % b = 0 ⇒ (a0 % b + … + an % b) % b = 0                            (2)

(1)和(2)等價  當且僅當  p % b = 1( 即 p^n % b = 1),而 p % (p - 1) = 1,問題就轉化成了求 p - 1 的因子個數。

**如下:

1 #include 2

using

namespace

std;

3int

main()

422 cnt*=(tmp+1

);23}24

}25if(a>1) cnt<<=1

;26 printf("

%d\n

",cnt);27}

28return0;

29 }

view code

hdu 6108 小C的倍數問題

acm.hdu.edu.cn showproblem.php?pid 6108 給定進製p,求有多少個b滿足p進製下,乙個正整數是b的倍數的充分必要條件是每一位加起來的和是b的倍數。在 p 進製下,每個正整數都可以都可以表示為 a0 a1p a2p 2 anpn a 0 a1 p anpn b 0 ...

HDU 6108 小C的倍數問題

對於每乙個數,能整除ans 當且僅當這個數每位之和是ans的倍數 要求在p進製下 x1 x2 p x3 p 2 n n b 0且要求 x1 x2 x3 b 0 那麼 x2 p 1 x3 p 2 1 b 0 b 0 當 b 能被 p 1 整除時 一定符合等式 即求 p 1 的因子個數,注意按 i sq...

hdu6108小C的倍數問題(數學)

思路 先理解一下為什麼乙個數各個數字上的和是3的倍數那這個數就是3倍數 先看兩位數字的,如數碼ab組合 a b為3的倍數 那麼10 a b 9a a b 9a能被3整除,a b能被3整除,所以10 b能被3整除 再看三位數字的,如數碼abc組合 a b c為3的倍數 那麼100 a 10 b c 9...