做转运网站,女生做ui设计,做ppt的图片网站有哪些,.aspx网站开发pdf假设现在有两个自然数 A 和 B#xff0c;S 是 AB
的所有约数之和。
请你求出 Smod9901
的值是多少。
输入格式
在一行中输入用空格隔开的两个整数 A
和 B
。
输出格式
输出一个整数#xff0c;代表 Smod9901
的值。
数据范围
0≤A,B≤5107 输入样例#xff1a; …假设现在有两个自然数 A 和 BS 是 AB
的所有约数之和。
请你求出 Smod9901
的值是多少。
输入格式
在一行中输入用空格隔开的两个整数 A
和 B
。
输出格式
输出一个整数代表 Smod9901
的值。
数据范围
0≤A,B≤5×107 输入样例
2 3输出样例
15注意: A
和 B 不会同时为 0。
思路 因为要求p^0p^1...p^k-1所以这是一个等比数列完全可以用快速幂求逆元然后用等比数列求和公式得到答案 #includeiostream
#includecmath
#includecstring
#includecstdio
#includestack
#includestring
#includealgorithm
#includeunordered_map
#includemap
#includebitset
#includecstring
#include unordered_set
//#includepriority_queue
#includequeue
#includedeque
#includeset
#includestdlib.h
#define dbug cout*****hear*****endl;
#define rep(a,b,c) for(ll ab;ac;a)
#define per(a,b,c) for(ll ab;ac;a--)
#define no coutNOendl;
#define yes coutYESendl;
#define endl \n//交互题一定要关
#define lowbit(x) (x-x)
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
//priority_queueint,vectorint,greaterint q;
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pairll, ll PII;
typedef pairlong double,long double PDD;ll INF 0x3f3f3f3f;
//const ll LINFLLONG_MAX;
// int get_len(int x1,int y1,int x2,int y2)
// {
// return (x2-x1)*(x2-x1) (y2-y1)*(y2-y1);
// }
const ll N 2e5 10;const ll mod1 998244353;const ll mod2 1e97;
// const ll hash_num 3e99;
ll n,m,ca;
ll arr[N],brr[N],crr[N],drr[N];
//ll h[N],ne[N],e[N],w[N],book[N],idx;
//ll idx;// void add(ll a, ll b , ll c)
// {
// e[idx] b, w[idx] c,ne[idx] h[a], h[a] idx ;
// }
ll mod9901;
unordered_mapll,llprime;ll fast_power(ll a,ll b)//快速幂
{ll res1;while(b){if(b1)resres*a%mod;b 1;aa*a%mod;}return res;
}void get(ll x)//获得质因数
{for(ll i2;ix/i;i){while(x%i0){x/i;prime[i];}}if(x1)prime[x];
}ll sum(ll p,ll k)//sum函数
{if(k1)return 1;if(k%20){return (1fast_power(p,k/2))*sum(p,k/2)%mod;}else{return (fast_power(p, k - 1) sum(p, k - 1)) % mod;}
}void solve()
{cin n m;get(n);ll ans1;for(auto it : prime){ll a it.first, b it.second * m;if((a-1)%mod0)//如果a-1是mod的倍数的话那么其实就是k1个1相加{ansans*(b1)%mod;}else{ansans*(fast_power(a,b1)-1)%mod*(fast_power(a-1,mod-2))%mod;//这里是将求和公式上下都提取一个负号变成了(a^b1)-1和a-1}}if(!n)ans0;cout (ans%modmod)%mod;
}int main()
{IOS;ll _;_1;//scanf(%lld,_);// cin_;ca1;while(_--){solve(); ca;} return 0;
}