【AcWing】871. 约数之和

分解完质因数后,直接代入求和公式。

cpp 复制代码
#include<iostream>
#include<algorithm>
#include<unordered_map>
using namespace std;

typedef long long LL;

const int mod=1e9+7;

int main(){
    int n;cin>>n;
    
    unordered_map<int,int> primes;//哈希表存储分解质因数的底数和指数
    
    while(n--){
        int x;
        cin>>x;
        for(int i=2;i<=x/i;i++){//每个数分解质因数
            while(x%i==0){
                x/=i;
                primes[i]++;//记录底数和指数
            }
        }
        if(x>1) primes[x]++;//大于sqrt(x)的质因数
    }
    
    LL res=1;
    for(auto prime:primes){
        int p=prime.first,a=prime.second;//p是底数,a是指数
        LL t=1;
        while(a--){//乘指数次
            t=(t*p+1)%mod;//求每一个p的和
        }
        res=res*t%mod;//相乘
    }
    cout<<res<<endl;
    return 0;
}
相关推荐
(Charon)13 小时前
【C++/Qt】C++/Qt 实现 TCP Server:支持启动监听、消息收发、日志保存
c++·qt·tcp/ip
jr-create(•̀⌄•́)14 小时前
正则化和优化算法区别
pytorch·深度学习·神经网络·算法
并不喜欢吃鱼14 小时前
从零开始C++----七.继承及相关模型和底层(上篇)
开发语言·c++
li星野15 小时前
刷题:数组
数据结构·算法
tankeven15 小时前
HJ182 画展布置
c++·算法
W230357657315 小时前
【改进版】C++ 固定线程池实现:基于调用者运行的拒绝策略优化
开发语言·c++·线程池
谭欣辰16 小时前
C++ 控制台跑酷小游戏
c++·游戏
周末也要写八哥16 小时前
C++实际开发之泛型编程(模版编程)
java·开发语言·c++
CS_Zero17 小时前
无人机路径规划算法——EGO-planner建模总结—— EGO-planner 论文笔记(一)
论文阅读·算法·无人机
杰梵17 小时前
聚酯切片DSC热分析应用报告
人工智能·算法