题目不必多说
会《小学数学》的人都会
所以……
这次就让大家填空吧!
请替换***的内容
#include <bits/stdc++.h>
using namespace std;
long long a, b, s, ans;
const int mod = ***;
long long ksm(long long a,long long b){
a%=mod;
*** ans=1;
while(b!=0){
if(b&1){
ans=ans*a%mod;
}
b>>=1;
a=a*a%mod;
}
return ans%mod;
}
int sum(int i, int k){
if(k == 0) return 1;
if(k % 2 == 0)
return (i % mod * sum(i, k - 1) + 1) % mod;
else
return (1 + ***(i, k / 2 + 1)) * sum(i, k / 2) % mod;
}
int main(){
cin >> a >> b;
ans = ***;
for(int i = 2; i <= a; i++){
s = 0;
***(a % i == 0){
s++;
a /= i;
}
if(s) ans = ans * sum(i, s * b) % mod;
}
if(!a) ans = ***;
cout << ans;
return 0;
}
答案:
9901,long long,ksm,1,while,0