https://www.acwing.com/problem/content/description/873/
思路如果n可以写成 f ( n ) = a 1 α 1 × a 2 α 2 … … × a k α k f(n)=a_1^{α_1}\times a_2^{α_2}……\times a_k^{α_k} f(n)=a1α1×a2α2……×akαk( a 1 , a 2 , … … , a k a_1,a_2,……,a_k a1,a2,……,ak均为质数) 那么n的约数的和为: s u m = ( a 1 0 + a 1 1 + a 1 2 + … … a 1 α 1 ) × ( a 2 0 + a 2 1 + a 2 2 + … … a 2 α 2 ) × … … × ( a k 0 + a k 1 + a k 2 + … … a k α k ) sum = (a_1^0 + a_1^1+a_1^2+……a_1^{α_1})\times (a_2^0 + a_2^1+a_2^2+……a_2^{α_2})\times …… \times (a_k^0 + a_k^1+a_k^2+……a_k^{α_k}) sum=(a10+a11+a12+……a1α1)×(a20+a21+a22+……a2α2)×……×(ak0+ak1+ak2+……akαk) 所以我们直接将每一个因子唯一分解后将数量统计出来,最后然后遍历将每个质因子的贡献通过求和公式算出并累乘即可,详情请看吗代码
代码#include
using namespace std;
#define mod 1000000007
#define ll long long
#define int long long
map vis;
ll n,a;
void slove(){
for(ll i = 2;i * i >= 1;
}
return ans;
}
ll inv(ll x) {return ksm(x,mod-2);}
signed main()
{
scanf("%lld",&n);
for(ll i = 1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?