文章
13
粉丝
76
获赞
87
访问
17.2k
 
#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);
    }
   ...
    
登录后发布评论
暂无评论,来抢沙发