随笔分类 -  数论

讨厌的数论专题, 看看我三年能不能学会你,让你成天折磨我
摘要:##AcWing 872. 最大公约数 一、题目描述 给定 n 对正整数 ai,bi,请你求出每对数的最大公约数。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个整数对 ai,bi。 输出格式 输出共 n 行,每行输出一个整数对的最大公约数。 数 阅读全文
posted @ 2021-09-27 09:20 糖豆爸爸 阅读(349) 评论(0) 推荐(0) 编辑
摘要:##AcWing 871. 约数之和 一、题目描述 给定 n 个正整数 ai,请你输出这些数的乘积的约数之和,答案对 109+7 取模。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个整数 ai。 输出格式 输出一个整数,表示所给正整数的乘积的约数 阅读全文
posted @ 2021-09-27 09:17 糖豆爸爸 阅读(421) 评论(0) 推荐(1) 编辑
摘要:##AcWing 870. 约数个数 一、题目描述 给定 n 个正整数 ai,请你输出这些数的乘积的约数个数,答案对 109+7 取模。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个整数 ai。 输出格式 输出一个整数,表示所给正整数的乘积的约数 阅读全文
posted @ 2021-09-27 09:06 糖豆爸爸 阅读(443) 评论(0) 推荐(1) 编辑
摘要:##AcWing 869. 试除法求约数 一、题目描述 给定 $$ 个正整数 ai,对于每个整数 ai,请你按照从小到大的顺序输出它的所有约数。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个整数 ai。 输出格式 输出共 n 行,其中第 i 阅读全文
posted @ 2021-09-27 09:00 糖豆爸爸 阅读(396) 评论(0) 推荐(0) 编辑
摘要:##AcWing 868. 筛质数 一、题目描述 给定一个正整数 n,请你求出 1n 中质数的个数。 输入格式 共一行,包含整数 n。 输出格式 共一行,包含一个整数,表示 1n 中质数的个数。 数据范围 1n106 输入样例: 8 输出样例: 4 二、埃氏筛法 阅读全文
posted @ 2021-09-27 08:29 糖豆爸爸 阅读(525) 评论(0) 推荐(1) 编辑
摘要:题目传送门 #include <bits/stdc++.h> using namespace std; /** * 功能:分解质因数 * @param x 待分解的质数因数 */ void divide(int x) { for (int i = 2; i <= x / i; i++) if (x 阅读全文
posted @ 2021-09-27 08:25 糖豆爸爸 阅读(351) 评论(0) 推荐(0) 编辑
摘要:##AcWing 867. 分解质因数 一、题目描述 给定 n 个正整数 ai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个正整数 ai。 输出格式 对于每个正整数 ai 阅读全文
posted @ 2021-09-27 08:18 糖豆爸爸 阅读(462) 评论(0) 推荐(0) 编辑
摘要:等比数列求和公式: Sn=a1(qn1)q1 高中数学内容,建议初一、初二时学习。 我们来推导一下: Sn=a1q0+a1q1+a1q2+...+a1qn1 \(qS_n=\ \ \ \ \ \ \ 阅读全文
posted @ 2021-09-02 11:30 糖豆爸爸 阅读(5829) 评论(0) 推荐(2) 编辑
摘要:一、约数个数公式 如果n的唯一分解式: n=p1r1p2r2...pkrk 一、n的约数个数公式: d(n)=(r1+1)(r2+1)...(rk+1) 证明:以p1为例,这个质数因子,可以选择$ 阅读全文
posted @ 2021-09-01 14:57 糖豆爸爸 阅读(419) 评论(0) 推荐(1) 编辑
摘要:题目传送门 一、前导知识 欧拉函数与筛法求欧拉函数 二、朴素思路 我们先不管数据范围是不是1012,先思考就朴素的作法是什么样的: qiandao(x)=xϕ(x) ,假设x在我们可控的数据范围内,就是筛出数据范围内的ϕ(x), 然后利用公式计算一下sum和,再$mo 阅读全文
posted @ 2021-09-01 10:49 糖豆爸爸 阅读(90) 评论(0) 推荐(2) 编辑
摘要:欧拉函数专题 一、定义 定义:欧拉函数是小于n的数中与n互质的数的数目。 例如φ(8)=4,因为1,3,5,7均和8互质。 解释:18是互质的。互质是指两个数的最大公约数为1,而1和\ 阅读全文
posted @ 2021-09-01 10:40 糖豆爸爸 阅读(428) 评论(0) 推荐(1) 编辑
摘要:一、单个数质因数分解 直接上代码: #include <bits/stdc++.h> using namespace std; /** * 功能:分解质数因数 * @param a 待分解的数字 */ const int N = 1010; int primes[N]; //质数因子数组 int i 阅读全文
posted @ 2021-09-01 08:31 糖豆爸爸 阅读(270) 评论(0) 推荐(0) 编辑
摘要:题目传送门 #include <bits/stdc++.h> using namespace std; typedef long long LL; LL x, y, ans; //辗转相除法 LL gcd(LL a, LL b) { if (b == 0) return a; ans += 4 * 阅读全文
posted @ 2021-08-31 16:37 糖豆爸爸 阅读(30) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、解题思路 这道题有些意思,因为a肯定是分子,怎么想办法也不可能变成分母。b肯定是分母,怎么的也变不成分子。c,d,e,f...就是有可能是分子,也有可能是分母,尽量想办法让它们全是分子,这样出现整数的概率高,出现在分母,还得想办法去约分掉它,麻烦。(贪心) 那它们是否真的 阅读全文
posted @ 2021-08-31 16:15 糖豆爸爸 阅读(88) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、准备知识 求一个数x的所有约数 #include <bits/stdc++.h> using namespace std; const int N = 1010; int c[N]; /** * 功能:获取指定数x的所有约数 * @param x */ void ys(int x) 阅读全文
posted @ 2021-08-31 14:34 糖豆爸爸 阅读(65) 评论(0) 推荐(0) 编辑
摘要:题目传送门 #include <bits/stdc++.h> using namespace std; typedef long long LL; LL a, b, c; LL gcd(LL x, LL y) { return y ? gcd(y, x % y) : x; } LL lcm(LL x 阅读全文
posted @ 2021-08-31 10:53 糖豆爸爸 阅读(40) 评论(0) 推荐(0) 编辑
摘要:题目传送门 #include <bits/stdc++.h> using namespace std; int a, b, c, d; /** 测试用例: 2/1+1/3-1/4 答案:25/12 -2/1+1/3-1/4 答案:-23/12 测试点6 7/4+1/3+8/5-3/2-6/9-6/4 阅读全文
posted @ 2021-08-31 10:47 糖豆爸爸 阅读(69) 评论(0) 推荐(0) 编辑
摘要:一、定理内容 算术基本定理,又名唯一分解定理。若a>1,那么必有a=p1α1p2α2...psαs,其中pj(1<=j<=s)是两两不相同的质数,aj(1<=j<=s)表示对应质数的幂次(出现的次数)。若在不计 阅读全文
posted @ 2021-08-30 13:50 糖豆爸爸 阅读(866) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、穷举p和q #include <bits/stdc++.h> using namespace std; //最大公约数 int gcd(int x, int y) { return y ? gcd(y, x % y) : x; } //最小公倍数 int lcm(int x, int 阅读全文
posted @ 2021-08-28 10:09 糖豆爸爸 阅读(806) 评论(0) 推荐(0) 编辑
摘要:题目:给定n个整数。对于其中的每个数a[i],求出删去它以后剩下的所有数的最大公约数,n<=106。 对于删去a[i]后的数组,显然剩下的数一定是a[1]a[i1](前缀)和a[i+1]a[n](后缀)。这意味着,如果用Left[i]表示a[1]阅读全文
posted @ 2021-08-27 15:22 糖豆爸爸 阅读(90) 评论(0) 推荐(0) 编辑

Live2D
点击右上角即可分享
微信分享提示