對於每乙個數,能整除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<=sqrt(n) 來算,不然會超時。
這種做法原理是, 以這個數的平方根為界,若小於這個界限有乙個數能被n整除,那麼大於這個界限一定也存在乙個數能
被整除。所以當這個數為平方數時就存在乙個ans會重複
#include typedef long long ll;
using namespace std;
void solve(ll n)
printf("%lld\n",cnt);
}int main()
return 0;
}
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 ...
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...