题意:是给你一个N进制的整数R,题目保证R能被N-1整除,让你求符合条件的最小的N。
分析:看见很多大牛都觉得很水的题,但是还是要数论来证明的,自己没能证明出来,看了牛人的证明才能水掉~~
数论的模运算证明:
设输入的是abcd,假设其解是n进制,则有
(a*n*n*n + b*n*n + c*n + d)%(n-1)=0
则有:( (a*n*n*n)%(n-1)+ (b*n*n)%(n-1)+ (c*n)%(n-1)+d )%(n-1)=0 则有:((a* (n%(n-1)) *(n%(n-1)) *(n%(n-1))) + (b* (n%(n-1)) *(n%(n-1))) + (c* (n%(n-1) + d ) %(n-1)=0 则有: (a*1*1*1 + b*1*1 + c*1 + d) % (n-1)=0 则有:(a+b+c+d)%(n-1)=0 所以,经过转换,变为求输入数的各数位的和能%(n-1)等于0;
题意还有一点是:0...9...A...Z...a...z (按这样顺序,A=10, a=37)具体在代码中有注释;
还有一点是题目中The largest size of the input file will be 32KB 表示数组要开30001以上~