约数个数+约数之和(数论)

这是一个目录

约数个数

题目描述

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

输入描述

第一行包含整数 n。

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

输出描述

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

数据范围

1 ≤ n ≤ 100,
1 ≤ ai ≤ 2e9;


由于本题的数据范围为 2e9 ,因此先计算出n个正整数的乘积再使用试除法一定会爆,此处可通过约数的性质进行解决。


可将n个正整数都拆分成有限个素数之积,相乘即可转化为对应素数的指数增加相应次数,此处可用map存储,最后用正约数个数的求和公式即可得出答案。

需要注意的是,由于本题数据范围的限制,答案需要用long long防爆,同时在进行求正约数个数的乘法时不要忘记mod 1e9+7,防止累次乘积超出范围。

参考代码

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 110, 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] ++ ;
    }

    LL res = 1;
    for (auto p : primes) res = res * (p.second + 1) % mod;

    cout << res << endl;

    return 0;
}

约数之和

题目描述

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

输入描述

第一行包含整数 n。

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

输出描述

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

数据范围

1 ≤ n ≤ 100,
1 ≤ ai ≤ 2e9;


本题的解题思路与求约数个数类似,都是将每个数拆解成素数积的形式并不断对素数因子的次方进行更新,再通过公式计算出正约数之和。

其中,(1 + p + p ^ 2 + … + p ^ c)可通过等比数列公式计算,也可令 t = p + 1,只要循环 c 次并不断更新 t = p * t +1 即可。

参考代码

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
const int N=110;
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]++;
    }
    
    ll res=1;
    for(auto p:primes){
        ll a=p.first,b=p.second;
        ll t=1;
        while(b--) 
            t=(t*a+1)%mod;
        res=res*t%mod;
    }
    
    cout<<res<<endl;
    return 0;
}
Σ_aphasia
关注 关注
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习笔记——数论——约数
01-06
4.1-1e9中的数,约数个数最多的数仅有1536个约数 倍数法求1-N中所有数的约数集合:NlogN void gao() { vectorfactor[M]; for(int i=1;i<=n;i++)for(int j=i;j<=n;j+=i)v[j].push_back(i); } 数论分块: k/i...
唯一分解定理870. 约数个数
qq_50629351的博客
04-17 262
约数个数 给定 n 个正整数 ai,请你输出这些数的乘积约数个数答案对 109+7 取模。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个整数 ai。 输出格式 输出一个整数表示所给正整数乘积约数个数答案需对 109+7 取模。 数据范围 1≤n≤100, 1≤ai≤2×109 输入样例: 3 2 6 8 输出样例: 12 约数个数 对于任何一个数N,都能够分成几个质数幂的乘积。 对于N的每一个质因子p幂上d方,都有p的0次方,p的1次方,p的2次方,一直到p的d次方,所..
约数之和 (简单+普通)
qq_73261465的博客
11-03 285
给定 n 个正整数 ai,请你输出这些数的乘积约数之和答案对 109+7取模
acwing 871. 约数之和
刘小雨的博客
07-19 1648
因为拆开任何一项,都是一个约数,相加便是约数之和。(这个公式是将所有约数相加后提取公因式得到的)给定n个正整数ai,请你输出这些数的乘积约数之和答案对10。1、在每次输入一个数时,分解其质因数,将其出现的次数保存起来;输出一个整数表示所给正整数乘积约数之和答案需对10。2、遍历保存质因数的表,将每个质因数带入公式中。接下来n行,每行包含一个整数ai。这里的代码实现存储底数和指数部分跟。一样,只是求解目标变了。第一行包含整数n。.........
约数个数/约数之和------------------------------数论(唯一分解)
qq_43690454的博客
04-08 690
给定n个正整数ai,请你输出这些数的乘积约数个数答案对109+7取模。 输入格式 第一行包含整数n。 接下来n行,每行包含一个整数ai。 输出格式 输出一个整数表示所给正整数乘积约数个数答案需对109+7取模。 数据范围 1≤n≤100, 1≤ai≤2∗109 输入样例: 3 2 6 8 输出样例: 12 解析: 唯一分解定理 时间复杂度:O(sqrt(N)) 求约数个数之和 求约...
约束问题集合
Axelrod的博客
01-28 378
1、试除法求约数 给定n个正整数ai,对于每个整数ai,请你按照从小到大的顺序输出它的所有约数。 输入格式 第一行包含整数n。 接下来n行,每行包含一个整数ai。 输出格式 输出共n行,其中第 i 行输出第 i 个整数ai的所有约数。 数据范围 1≤n≤100, 2≤ai≤2∗109 输入样例: 2 6 8 输出样例: 1 2 3 6 1 2 4 8 #include<iostream&gt...
算法-数论- 约数.rar
09-16
算法-数论- 约数.rar
初等数论中最大公约数、最小公倍数(递归实现)程序
06-11
初等数论中最大公约数、最小公倍数(递归实现)程序初等数论中最大公约数、最小公倍数(递归实现)程序初等数论中最大公约数、最小公倍数(递归实现)程序
初等数论 最大公约数PPT学习教案.pptx
10-07
初等数论 最大公约数PPT学习教案.pptx
算法-数论- 最大公约数与最小公倍数.rar
09-16
算法-数论- 最大公约数与最小公倍数.rar
约数
m0_64378422的博客
08-01 180
约数合集
约数之和约数
weixin_63537536的博客
06-12 226
给定 n 个正整数 ai,请你输出这些数的乘积约数之和答案对 10^9+7 取模。第一行包含整数 n。接下来 n 行,每行包含一个整数 ai。输出一个整数表示所给正整数乘积约数之和答案需对 109+7109+7 取模
约数个数(c++, java)
jakelihua
03-10 228
给定 n 个正整数 ai,请你输出这些数的乘积约数个数答案对 109+7。输出一个整数表示所给正整数乘积约数个数答案需对 109+7取模。接下来 n 行,每行包含一个整数 ai。第一行包含整数 n。
约数的和及约数个数
qq_51538518的博客
10-02 2537
约数的和及约数个数 1.约数个数等于:所有质因数的指数加上1后的乘积; 若一个数分解质因数后为(am)*(bn),其中a,b均为质因数;m,n均为相应质因数的指数. 则约数个数为(m+1)(n+1). 例如: (1)12=2²3,质因数有2和3,其指数分别为2和1,那么12的约数有(2+1)(1+1)=6(个); (2)60=2²35,质因数2,3,5的指数分别为2,1,1,那么60的约数有(2+1)(1+1)(1+1)=12(个). 2.一个数所有约数之和等于:先把每个质因数从0次幂一直加到其最高次幂
约数个数约数之和知识点(含公式)
每个人都是独一无二的,把握好自己的节奏,跟着自己的心走。
01-24 3328
在学习Acwing c++蓝桥杯辅导课第八讲数论-AcWing 1296. 聪明的燕姿时学习到了约数之和的公式,这里来记录下知识点。博客目录索引(持续更新)
约数个数的和(C语言)
llvyeriji的博客
12-30 3006
题目描述 给个n,求1到n的所有数的约数个数的和~ 输入描述: 第一行一个正整数n 输出描述: 输出一个整数表示答案 输入 复制 3 输出 复制 5 说明 样例解释: 1有1个约数1 2有2个约数1,2 3有2个约数1,3 备注: n <= 100000000 正常想法是用一个双重循环对每个数约数查找,发现是约数则加1,但是这样简单的想法当然是The Time Limited,所以要请出我们的数论了,数学还是非常重要的。 初次接触..
约数约数个数约数乘积的计算
qq_51825761的博客
08-07 580
对于一个正整数n的质因子分解为各质因子Pi的个数分别为e1,e2,...,ek;* 对于一个正整数n的质因子分解为各质因子Pi的个数分别为e1,e2,...,ek;* 则n的约数个数为(e1+1)*(e2+1)*...*(ek+1);个正整数 ai,请你输出这些数的乘积约数个数答案对 109+7。输出一个整数表示所给正整数乘积约数个数答案需对 109+7。个正整数 ai,请你输出这些数的乘积约数之和答案对 109+7。输出一个整数表示所给正整数乘积约数之和答案需对 109+7。...
一篇文章搞懂约数——试除法求约数约数个数约数之和
qq_59702185的博客
10-19 764
算数基本定理:N = p1^a1 * p2^a2 * … * pk^ak约数个数:ans = (a1 + 1)(a2 + 1)(a3 + 1)…(ak + 1)约数之和:ans = (p1^0 + p1^1 + … + p1^k) * … * (pk^0 + pk^1 + … + pk^k)
约数个数 约数之和
magnte的博客
08-24 411
分别求n个数乘积的所有约数个数以及和。 有分解质因数公式,将每个数都分解质因数,用一个 map 来存每个质数的底数和指数。 p1 的质数可以从零取到 a1, p2 可以取到 a2,以此类推,每个约数由 p1 到 pk 各选一个质数相乘得来,所以约数个数等于 (a1 + 1) * (a2 + 1) …(ak + 1). 将约数之和的公式展开可以发现就是所有约数相加。 求(p1 ^ 0 + p1 ^ 1 + p1 ^ 2 + … + p1 ^ a)的方法:设 t = 1,执行一次 t = p * .
最大公约数和最小公倍数
最新发布
11-19
最大公约数和最小公倍数是数学中的基本概念,它们在数论、代数、几何等领域都有广泛的应用。最大公约数是指两个或多个整数共有约数中最大的一个,最小公倍数是指两个或多个整数公有倍数中最小的一个。以下是两种常见...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 牛牛的猜球游戏 3078
  • Repetitions Decoding(cf1642D)【规律,暴力构造】 1126
  • Codeforces Round #722 div2(蒟蒻的仅有A、B的题解) 1114
  • 回文平方数Palindromic Squares(进制+枚举) 1048
  • 洛谷1879-[USACO06NOV]Corn Fields G-玉米田(状压dp) 919

分类专栏

  • 网络流 14篇
  • 好题 8篇
  • 2000+ 13篇
  • 乱炖 6篇
  • 神仙 6篇
  • cf 51篇
  • 1800+ 8篇
  • 数据结构 2篇
  • 算法基础 3篇
  • 计算几何
  • 图论 31篇
  • 数学 6篇
  • 字符串 2篇
  • 动态规划 14篇
  • ==AcWing== 6篇
  • 2021牛客多校 16篇
  • 2021杭电多校 7篇

最新评论

  • Not Adjacent Matrix(cf#719 div3 C)

    Gusare: 太强了 怎么想到的qaq

  • Yet Another Minimization Problem(cf1637D)数学+dp

    hhhhhhhhhhh——: 一看就懂 感谢分享

  • 洛谷P3243 [HNOI2015]菜肴制作(思维+反向拓扑)

    周六不烦: 因为插入优先队列所以无论排序与否都是有序

  • CF704D Captain America(有源汇上下界最大流)

    sancpp: 国内女子网络流第一人Orz

  • CF704D Captain America(有源汇上下界最大流)

    issue是fw: 国内女子网络流第一人Orz

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • CF704D Captain America(有源汇上下界最大流)
  • P4043 [AHOI2014/JSOI2014]支线剧情(有源汇上下界最小费用可行流)
  • 网络流学习笔记(含破烂板子)
2022年96篇
2021年76篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源炒汇软件中医馆起名反派白化光环怎样测试生辰八字起名山东体育频道院长李晨阳我的2007八字缺土如何起名免费起名字的网站音频剪辑软件免费测试起名打分网站马凡舒简介个人资料魔兽武僧起名小吃加盟店信息张姓男孩猪宝宝起名书店起什么名子好计算机病毒是穆姓女孩儿起名日志分类名称修仙界最后的单纯万能手写板驱动建筑给水排水及采暖工程施工质量验收规范好听的起名男诗意555影视英雄联盟电视剧生鲜超市起什么名字吗天空之城烟花百度云一生一世美人骨百度云起名哪个网站比较权威淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化