Chri_K

按位取模(高精度)

写个按位取模然后输出就可以啦~
按位取模咋写呢=。=很简单
首先读一个数 把他%n
然后把数乘10读下一个数并%n
如此循环。
注意取模结果为0的话要输出n;
时间复杂度O(logn) 空间复杂度O(1)
以下是代码=。=
#include<cstdio>
#include<cstring>
using namespace std;
char ch[2000];
int n;
typedef long long lol;
int main()
{
scanf("%d%s", &n, ch);
int l = strlen(ch);
lol ans = 0ll;
for(int i = 0; i < l; ++i)
{
ans *= 10;
ans += ch[i]-'0';
ans %= n;
}
if(!ans) ans += n;
printf("%lld\n", ans);
return 0;
}

posted on 2020-09-12 09:26  Chri_K  阅读(41)  评论(0)    收藏  举报