算法笔记.约数个数

题目:(acwing)

给定 n 个正整数 ai,请你输出这些数的乘积的约数个数,答案对 109+7 取模。

输入格式

第一行包含整数n。

接下来 n 行,每行包含一个整数 ai。

输出格式

输出一个整数,表示所给正整数的乘积的约数个数,答案需对 109+7 取模。

数据范围

1≤n≤100

1≤ai≤2×109

输入样例:
复制代码
3
2
6
8
输出样例:
复制代码
12

代码实现:

cpp 复制代码
#include<iostream>
#include<unordered_map>
using namespace std;
const int mod = 1e9+7;
int n;
unordered_map<int,int> primes;

void check(int x)
{
    int t = x;
    for(int i = 2;i <= x/i ;i++)
    {
        while(t%i == 0)
        {
           primes[i]++;
           t/=i;
        }
    }
    if(t > 1) primes[t]++;
}

int main()
{
    cin >>n;
    while(n--){
        int x;
        cin>>x;
        check(x);
    }
    long long res = 1;
    for(auto it = primes.begin();it!=primes.end();it++)
    {
        res= res*(it->second+1)%mod;
    }
    cout <<res;
    return 0;
}
相关推荐
一匹电信狗3 小时前
【LeetCode_547_990】并查集的应用——省份数量 + 等式方程的可满足性
c++·算法·leetcode·职场和发展·stl
鱼跃鹰飞4 小时前
Leetcode会员尊享100题:270.最接近的二叉树值
数据结构·算法·leetcode
Queenie_Charlie4 小时前
小陶的疑惑2
数据结构·c++·树状数组
三水不滴4 小时前
Redis 过期删除与内存淘汰机制
数据库·经验分享·redis·笔记·后端·缓存
梵刹古音5 小时前
【C语言】 函数基础与定义
c语言·开发语言·算法
筵陌5 小时前
算法:模拟
算法
wdfk_prog5 小时前
[Linux]学习笔记系列 -- [drivers][i2c]i2c-dev
linux·笔记·学习
土拨鼠烧电路6 小时前
笔记03:业务语言速成:“人、货、场”模型与IT系统全景图
笔记
Queenie_Charlie6 小时前
小陶与杠铃片
数据结构·c++·树状数组
We་ct6 小时前
LeetCode 205. 同构字符串:解题思路+代码优化全解析
前端·算法·leetcode·typescript