当前位置: 首页 > article >正文

【AcWing】871. 约数之和

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

#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;
}


http://www.kler.cn/a/301694.html

相关文章:

  • 如何利用SAP低代码平台快速构建企业级应用?
  • Java:从诞生到未来的编程语言进化史与应用前景
  • 若点集A=B则A必能恒等变换地变为B=A这一几何常识推翻直线(平面)公理
  • 【一键整合包及教程】AI照片数字人工具EchoMimic技术解析
  • 《C语言程序设计现代方法》note-5 数组
  • LSTM(长短期记忆网络)详解
  • Spring Security 快速开始
  • centos7安装MySQL5.7.44
  • Docker Swarm管理(Docker技术集群与应用)
  • k8s的配置
  • 【网络安全】漏洞挖掘之CVE-2019-9670+检测工具
  • 如何使用Flask渲染模板
  • 比 GPT-4 便宜 187 倍的Mistral 7B (非广告)
  • 明基相机sd卡格式化还能恢复数据吗?可以这样操作
  • 漫谈设计模式 [16]:中介者模式
  • L3学习打卡笔记
  • QT进行音频录制
  • elementUI中el-form 嵌套el-from 如何进行表单校验?
  • 【C++ 智能指针】RAII和四种智能指针你理解吗?
  • Python学习笔记--类型、运算符、循环
  • 物联网之PWM呼吸灯、脉冲、LEDC
  • 【Linux】 LTG:移动硬盘部署Ubuntu24.04
  • vue 父组件给子组件传值
  • 基于深度学习的创新设计的生成AI
  • 哪一种反爬虫策略更加人性化,不让用户感知到
  • 02.06、回文链表