题目:Large Division LightOJ - 1214
题解:该题就是大整数进行取模
参考博客:https://blog.youkuaiyun.com/ramay7/article/details/51531215
代码:
#include<bits/stdc++.h>
using namespace std;
#define LL long long
char a[205];
int main(){
int T;
scanf("%d", &T);
int ca = 0;
while(T--){
getchar();
LL n;
scanf("%s %lld", a, &n);
int len = strlen(a);
//cout<<len<<endl;
printf("Case %d: ", ++ca);
if(a[0] == '0' && len == 1){
printf("divisible\n");
continue;
}
if(n < 0)n = -n;
LL ans = 0;
int i = 0;
if(a[0] == '-')i = 1;
for(; i < len; i++){
ans = (ans*10+a[i]-'0')%n;
}
if(ans == 0)printf("divisible\n");
else printf("not divisible\n");
}
return 0;
}
本文介绍了一种解决大整数取模问题的算法,并通过一个具体的编程实例演示了如何实现这一算法。主要关注点在于如何处理超出常规整数类型长度的大数运算,特别是针对取模操作。
242

被折叠的 条评论
为什么被折叠?



