大整数取模(数论初步) By ACReaper
#include <stdio.h> #include <string.h> #define MAXN 1000 char n[MAXN]; int m; int main(){ scanf("%s%d",n,&m); int len = strlen(n); int ans = 0; for(int i = 0 ; i < len; i++){ ans = (int)(((long long)ans * 10 + n[i] - '0') % m); } printf("%d\n",ans); return 0; }
这个太easy了,但是可以总结出一个规律,对于m进制的数,要转换为10进制,可以通过字符扫进去,然后按照模运算的逆来一步步向上加