本题大意:给出一个1000位以内的大数和一个小数,让你计算并给出大数对小数取余的结果。
本题思路:由下面的公式可以推出本题的计算公式,套入即可解决,建议自己把这个公式推一下,很简单的...
参考代码:
1 #include <cstdio> 2 #include <cstring> 3 using namespace std; 4 5 const int maxn = 1000 + 5; 6 int b, len, ans; 7 char a[maxn]; 8 9 int main () { 10 while(~scanf("%s %d", a, &b)) { 11 len = strlen(a), ans = 0; 12 for(int i = 0; i < len; i ++) { 13 ans = (((ans * (10 % b)) % b) + (a[i] - '0') % b) % b; 14 } 15 printf("%d ", ans); 16 } 17 return 0; 18 }