文章
13
粉丝
76
获赞
5
访问
7.9k
#include <bits/stdc++.h>
using namespace std;
typedef long long int lli;
const lli mod = 233333;
lli mod_string(string s){
lli ans = 0, len = s.size();
for(int i = 0; i < len; i++){
ans = (ans * 10) % mod + (s[i] - '0') % mod;
}
ans = ans % mod;
return ans;
}
string div_double(string s){
int len = s.size(), res = 0;
for(int i = 0; i < len; i++){
char c = s[i];
s[i] = (res + c - '0') / 2 + '0';
if(1 == (c - '0') % 2){
res = 10;
}
else{
res = 0;
}
}
return s;
}
lli pow_mod(lli x, string n){
lli ans = 1, len = n.size();
string zero = "";
for(int i = 0; i < len; i++){
zero += '0';
}
while(n > zero){
if(1 == (n[len - 1] - '0') % 2){
ans = ((ans % mod) * (x % mod)) % mod;
}
x = ((x % mod) * (x % mod)) % mod;
n = div_double(n);
}
...
登录后发布评论
暂无评论,来抢沙发