算法笔记.约数个数

题目:(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;
}
相关推荐
mmmmath_36 小时前
LeetCode.199.二叉树的右视图
数据结构·leetcode
专注仿真6 小时前
引擎扩展性与集成设计深度剖析:从 14 个扩展点到 DIS→HLA 演进之路
开发语言·算法·仿真引擎·推演引擎
码爸6 小时前
支持向量机介绍与示例
算法·机器学习·支持向量机
怕浪猫6 小时前
2028编程圈很火的10个Skills
算法·面试·github
滕州市燕猫虎计算机科技工作室个体工商户7 小时前
《Rust程序设计》学习笔记八:结构体
笔记·学习·rust·rust程序设计
志尊宝8 小时前
Vue3 零基础每日笔记(082):文件上传实战——el-upload 校验、自定义上传、头像预览
前端·javascript·vue.js·笔记·#javascript·#vue.js
后季暖9 小时前
电商问数笔记(2)
笔记
xier_ran9 小时前
【infra之路】AI 编译器学习笔记(二):重拾 C++——移动语义与 LLVM 风格的类型转换
人工智能·笔记·学习
Nil20811 小时前
leetcode 198打家劫舍
算法·leetcode·职场和发展
Shaoshing11 小时前
前缀和与差分
java·数据结构·算法·前缀和·差分