1633:【例 3】Sumdiv
2024-08-27 17:54:01
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll M=;
ll a,b,ans=,cnt;
ll p[],c[];
inline void divide(int n)
{
for(int i=;i*i<=n;i++)
{
if(n%i==)
{
p[++cnt]=i;
while(n%i==) n/=i,c[cnt]++;
}
}
if(n>) p[++cnt]=n,c[cnt]=;
//for(int i=1;i<=cnt;i++) cout<<p[cnt]<<' '<<c[cnt]<<' ';
}
inline int power(ll x,ll y)
{
ll res=;
while(y)
{
if(y&) res=res*x%M;
x=x*x%M;
y>>=;
}
return res;
}
int main()
{
scanf("%lld%lld",&a,&b);
divide(a);
for(int i=;i<=cnt;i++)
{
if((p[i]-)%M==)
{
ans=(b*c[i]+)%M*ans%M;
continue;
}
ll xx=power(p[i],b*c[i]+);
xx=(xx-+M)%M;
ll yy=p[i]-;
yy=power(yy,M-);
ans=ans*xx%M*yy%M;
}
printf("%lld\n",ans);
return ;
}
最新文章
- LAMP开发之环境搭建(2014.12.7在ubuntu下)
- [mac git 服务器端]
- OC1_汉字拼音转换 练习
- 查询数据库返回List<;Entity>;问题
- winPcap_1_开篇
- UVA - 10118Free Candies(记忆化搜索)
- 编译 wl18xx驱动源码
- STM32F407的硬件I2C
- spring boot访问数据库
- C# 中List<;T>;与DataSet之间的转换
- poj2054 Color a Tree
- 虚拟机时间同步14 Aug 04:09:18 ntpdate[2941]: no server suitable for synchronization found
- 微信小游戏跳一跳简单手动外挂(基于adb 和 python)
- Android ——Toolbar开发实践总结(转)
- Spring 框架学习—控制反转(IOC)
- android prgoressBar setProgressDrawable 在4.0系统式正常,在2.3系统上不能正常使用的问题
- 转载---LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
- 团队冲刺——Four
- 26种基于PHP的开源博客系统
- 20155319 2016-2017-2 《Java程序设计》第六周学习总结