算法笔记.约数个数

题目:(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;
}
相关推荐
u小鬼13 分钟前
随机游动算法解决kSAT问题
算法
绵绵细雨中的乡音20 分钟前
Linux基础 文件描述符,重定向及缓冲区理解
linux·笔记
木叶丸34 分钟前
搜索算法: 如何写一个简单的爬虫?
前端·算法·面试
fie88891 小时前
matlab全息技术中的菲涅尔仿真成像
人工智能·算法·matlab
Zsssss1 小时前
深夜内耗不如爬起来学 JS:0 基础也能吃透作用域的“心理边界”
算法
JoernLee1 小时前
机器学习算法:逻辑回归
算法·机器学习·ai编程
泽韦德1 小时前
【Redis】笔记|第4节|Redis数据安全性分析
数据库·redis·笔记
<但凡.2 小时前
C++修炼:unordered_map和unordered_set的使用和封装
开发语言·数据结构·c++
我的golang之路果然有问题2 小时前
GO+RabbitMQ+Gin+Gorm+docker 部署 demo
笔记·后端·学习·docker·golang·rabbitmq·gin
lagrahhn2 小时前
Python计算文章阅读时长
python·算法