hdu 6108 小C的倍數問題

2021-08-06 03:26:10 字數 713 閱讀 8727

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

⇒ (a0

% b + a1

% b * p % b +…+ an

% b * pn

% b)% b = 0 —(1) (a

0+a1

+…+a

n )% b = 0

⇒ (a0

% b +…+an

% b)% b = 0 —(2)

(1)和(2)等價當且僅當p % b = 1,而p % (p - 1) = 1所以問題相當於是求 p - 1 的因子個數。

#include 

#include

using

namespace

std;

int divid(int p)

int main()

}

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...

小C的倍數問題

problem description 根據小學數學的知識,我們知道乙個正整數x是3的倍數的條件是x每一位加起來的和是3的倍數。反之,如果乙個數每一位加起來是3的倍數,則這個數肯定是3的倍數。現在給定進製p,求有多少個b滿足p進製下,乙個正整數是b的倍數的充分必要條件是每一位加起來的和是b的倍數。i...