小C的倍數問題

2021-08-15 18:36:52 字數 1313 閱讀 2661

description

根據小學數學的知識,我們知道乙個正整數x是3的倍數的條件是x每一位加起來的和是3的倍數。反之,如果乙個數每一位加起來是3的倍數,則這個數肯定是3的倍數。

現在給定進製p,求有多少個b滿足p進製下,乙個正整數是b的倍數的充分必要條件是每一位加起來的和是b的倍數。

input

第一行乙個正整數t表示資料組數(1<=t<=20)。

接下來t行,每行乙個正整數p(2 < p < 1e9),表示一組詢問。

output

對於每組資料輸出一行,每一行乙個數表示答案。

sample input

1

10

sample output

3
對於任意p進製的數來說,都可以寫成a1

a2a3

...a

n=a1

pn−1

+a2p

n−2+

a3pn

−3+.

..+a

np0 a1a

2a3.

..an

=a1p

n−1+

a2pn

−2+a

3pn−

3+..

.+an

p0

的形式,其各個位數之和為a1

+a2+

a3+.

..+a

n a1+

a2+a

3+..

.+an

,兩數之差a1

(pn−

1−1)

+a2(

pn−2

−1)+

...+

an(p

0−1)

a 1(

pn−1

−1)+

a2(p

n−2−

1)+.

..+a

n(p0

−1

)與這兩數有相同因數,提出公因數p−

1 p−1

,只要求出p−

1 p−1

的因子個數也就求出了題目所求。

#include

#include

using

namespace

std;

int main()

cout

0;}

小C的倍數問題

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

小C的倍數問題

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

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