约数个数_51CTO博客
题目链接:https://www.acwing.com/problem/content/description/872/时/空限制:1s / 64MB题目描述给定n个正整数ai,请你输出这些数的乘积的约数个数,答案对109+7取模。输入格式第一行包含整数n。接下来n行,每行包含一个整数ai。输出格式输出一个整数,表示所给正整数的乘积的约数个数,答案需对109+7取模。...
原创 2021-07-13 16:27:58
368阅读
题目链接:https://www.acwing.com/problem/content/description/872/时/空限制:1s / 64MB题目描述给定n个正整数ai,请你输出这些数的乘积的约数个数,答案对109+7取模。输入格式第一行包含整数n。接下来n行,每行包含一个整数ai。输出格式输出一个整数,表示所给正整数的乘积的约数个数,答案需对109+7取模。...
原创 2022-02-03 14:16:14
400阅读
题目:题解:#include <bits/stdc++.h>#define int long longusing namespace std;int a[105];int mod=1e9+7;map<int,int>
原创 2022-11-07 15:36:59
98阅读
文章目录​​Question​​​​Ideas​​​​Code​​ Question给定 n 个正整数 ai,请你输出这些数的乘积的约数个数,答案对 109+7 取模。输入格式 第一行包含整数 n。接下来 n 行,每行包含一个整数 ai。输出格式 输出一个整数,表示所给正整数的乘积的约数个数,答案需对 109+7 取模。数据范围 1≤n≤100, 1≤ai≤2×109 输入样例: 3 2 6 8
原创 2022-07-01 13:28:05
180阅读
程序:vara,b,t1,t2:longint;i:longint;begin assign(input,'shlqsh.in'); reset(input); assign(output,'shlqsh.out'); rewrite(outp...
转载 2017-08-07 16:25:00
150阅读
2评论
一、试除法求约数        主要思想:由于当n/a=b时,a和b都是n的约数,即约数总是成对出现,可以在一次循环中同时找到i和n/i两个约数,只需要循环n/i次就能找到所有约数。                例题:求一个数的所有约数
一、约数个数公式 如果$n$的唯一分解式: \(n={p_1}^{r_1} {p_2}^{r_2} ... {p_k}^{r_k}\) 一、$n$的约数个数公式: $d(n) = (r_1+1) * (r_2+1) * ... * (r_k+1) $ 证明:以$p_1$为例,这个质数因子,可以选择$
原创 2021-09-05 14:07:42
572阅读
约数个数定理的百度百科解释
转载 2017-01-26 12:47:00
180阅读
2评论
1 #include <iostream> 2 #include <algorithm> 3 #include <cstdio> 4 #include <cmath> 5
原创 2022-05-25 10:39:28
63阅读
约数个数定理(证明)对于大于111的正整数nnn可分解为p1a1×p2a2…pkakp_1^{a_1}\times p_2^{a_2}\dots p_k^{a_k}p1a1​​×p2a2​​…pkak​​nnn的约数个数为(a1+1)×(a2+1)…(ak+1)(a_1+1)\times(a_2+1)\dots(a_k+1)(a1​+1)×(a2​+1)…(ak​+1)证明:显然对于p1a1p_1^{a_1}p1a1​​它的因数为p10,p11…p1a1p_1^{0},p_1^{1}\dots p_
原创 2021-08-10 10:09:18
322阅读
题目传送门 参考阅读:约数个数约数和专题 #include <bits/stdc++.h> using namespace std; typedef long long LL; typedef pair<int, int> PII; const int N = 110; const int mod
原创 2021-09-29 16:22:55
244阅读
约数个数定理(证明)对于大于111的正整数nnn可分解为p1a1×p2a2…pkakp_1^{a_1}\times p_2^{a_2}\dots p_k^{a_k}p1a1​​×p2a2​​…pkak​​nnn的约数个数为(a1+1)×(a2+1)…(ak+1)(a_1+1)\times(a_2+1)\dots(a_k+1)(a1​+1)×(a2​+1)…(ak​+1)证明:显然对于p1a1p_1^{a_1}p1a1​​它的因数为p10,p11…p1a1p_1^{0},p_1^{1}\dots p_
原创 2022-01-22 14:12:06
741阅读
1、如果我们要求一个数的所有因数的个数会怎么去求呢?首先想到最简单的方法就是暴力求解就可以。当然数据小、或者测试数据少就很简单就可以过了。2、如果求一个区间内的数的所有因数的个数呢?或者求一个区间内的数的因数最大的数以及最大的因数(正因数)的个数?这样的话,数据大一些,组数多一些,可能就要Tle,所以可以想到用唯一分解定理,但是那是适用于分解成素因数,要怎么转化呢?这就需要用到了约数个数定理。约数
原创 2023-04-05 15:10:05
152阅读
约数个数和 理论基础: 1、对n质因数分解,n=p1^k1 * p2^k2 * p3^k3 …… 则n的约数个数为(k1+1)*(k2+1)*(k3+1)…… 2、线性筛素数时,用i和素数pj来筛掉 i*pj, 其中pj一定是i*pj的最小素因子 如果i是pj的倍数,pj也是i的最小素因子 设t[
原创 2021-08-05 11:15:25
124阅读
莫比乌斯反演?不知道有没有用到。 原式=∑(x=1...n)μ(x)∑(i=1..[n/x])d(i)∑(j=1..[m/x])d(j)。 对miu,d分别前缀和,再对d*d进行分块。 #include<iostream>#include<cstdio>#include<cmath>#include
转载 2016-01-29 21:18:00
82阅读
2评论
题目 给定 $n$ 个正整数 $a_i$,请你输出这些数的乘积的约数个数,答案对 $10^9+7$ 取模。 输入格式 第一行包含整数 $n$。 接下来 $n$ 行,每行包含一个整数 $a_i$。 输出格式 输出一个整数,表示所给正整数的乘积的约数个数,答案需对 $10^9+7$ 取模。 数据范围 $1≤n≤100,1≤a_i≤2×10^9$ 输入样例: 3 2 6 8 输出样例: 12 思路
原创 2023-08-24 18:48:12
521阅读
约数,外文名:Divisor,别名:因数 简介: 约数,又称因数。整数a除以整数b(b≠0) 除得的商正好是整数而没有余数,我们就说a能被b整除,或b能整除a。a称为b的倍数,b称为a的约数。一个整数的约数是有限的。同时,它可以在特定情况下成为公约数。 1.试除法求约数 $“d\ | \ n”$代表 ...
转载 2021-08-23 18:10:00
1000阅读
2评论
线性筛求 约数个数约数和 线性筛,顾名思义,就是欧拉筛,在线性时间内可以求出答案,也就是$O(N)$的时间,非常牛$X$的效率。 ### 一、约数个数 根据数字唯一分解定理,设 $$\LARGE n=p_1^{r_1}*p_2^{r_2}p_3^{r_3}...*p_k^{r_k}$$ 对于每
原创 2022-10-21 09:16:29
247阅读
线性筛约数个数和(证明)之前已经证明过了线性筛约数和,现在证这个就灰常简单了。传送门非常类似,也是用一个数组来维护d(i)d(i)d(i)。由算术基本定理:n=p1k1p2k2…pmkmn=p_1^{k_1}p_2^{k_2}\dots p_{m}^{k_m}n=p1k1​​p2k2​​…pmkm​​这里g(n)=k1+1g(n)=k_1+1g(n)=k1​+1,即nnn的最小素因子个数+1+1+1。时间复杂度:O(n)O(n)O(n)ll f[N],g[N];int cnt,vis[N]
原创 2022-01-20 17:05:11
155阅读
算法提高 约数个数  时间限制:1.0s   内存限制:512.0MB      输入一个正整数N (1样例输入12样例输出6样例说明  12的约数包括:1,2,3,4,6,12。共6个AC代码:import java.util.Scanner;public class Main { pu
原创 2022-08-24 10:41:44
57阅读
  • 1
  • 2
  • 3
  • 4
  • 5