![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
WTIAW.TIAW
这个作者很懒,什么都没留下…
展开
-
算术基本定理 求一个数约数的个数
算术基本定理 求一个数的约数个数算术基本定理:分解素因数:n=(p1^k1)* (p2^k2)…(pn*kn).(分解方式唯一)n的约数个数为cnt(n)=(1+k1)(1+k2)…*(1+kn).原创 2020-12-17 22:25:33 · 355 阅读 · 0 评论 -
蓝桥 算法训练 素因子去重
传送门思路:不断的分解质因子即可,最后注意 n 可能不为1,所以最后要记得乘n。import java.math.BigInteger;import java.util.*;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); long ...原创 2019-12-12 19:20:42 · 143 阅读 · 0 评论 -
Disjoint Set of Common Divisors 分解质因子 +剪枝
传送门思路:分解a和b最大公约数t的质因子即可,不断的约去t的质因子,最后注意判断t的质因子是否全部约去。#include<iostream>#include<stdio.h>#include<algorithm>using namespace std;long long gcd(long long x, long long y){ ret...原创 2019-11-28 12:00:49 · 307 阅读 · 0 评论 -
B - Position in Fraction 巧妙,模拟除法找小数位
模拟除法思路:模拟除法即可,脑子要会拐弯,不要太莽。QAQa/b%10不断找出余数再*10/b 直到找到c.所以不用开double,直接int即可。图解 1 8 5#include<iostream>#include<algorithm>using namespace std;int main(){ int a,b; int c; ...原创 2019-11-20 19:22:30 · 242 阅读 · 0 评论 -
B - Shell Game 打表找规律
传送门思路:打表/手写找规律。///今天训练赛做的太紧张了,真辣鸡!!!/*** From:* Qingdao Agricultural University* Created by XiangwangAcmer* Date : 2019-10-29-18.58.22* Talk is cheap.Show me your code.*/#include<iostream...原创 2019-10-29 22:19:11 · 153 阅读 · 0 评论 -
计蒜客 纸片 数学
传送门思路:这个题一开始蒙了,234567这种怎么判断是不是9的倍数?后来问了度娘,原来一个数它的每个位加和如果是9的倍数的话,那么这个数一定能被9整除,这样一来用等差求和公式就行了(不要对再/2,因为2不会影响结果),然后再对9取余防止爆数。/*** From:* Qingdao Agricultural University* Created by XiangwangAcmer* ...原创 2019-10-26 16:27:13 · 206 阅读 · 0 评论 -
B - The Eternal Immortality 思维模拟
传送门思路:打表可以发现,一旦两个数相差超过10,那么计算n到m的阶乘的话最后一位必然为0。注意特判0!=1这种情况其余的我们不断取余即可。/*** From:* Qingdao Agricultural University* Created by XiangwangAcmer* Date : 2019-10-22-19.00.09* Talk is cheap.Show me...原创 2019-10-22 22:40:59 · 157 阅读 · 0 评论 -
H - Nastya Studies Informatics gcd & lcm
传送门思路:1.对于 a 和 b 的 gcd 和 lcm,一定有a * b = gcd * lcm ;2.我们方程两边同除以lcm * lcm ,那么有 a / gcd * b / gcd = lcm / gcd ;(这样做的目的是为了在枚举时缩短时间)3.那么有 gcd(a / gcd, b / gcd ) == 1;(这个可以代数试一试)4. 这样的话,我们枚举就好了,令p = l...原创 2019-10-15 07:35:45 · 155 阅读 · 0 评论 -
High School: Become Human log对数函数/打表找规律
传送门题意:给你i和j比较 i的j次方 和 j的i次方 的大小。思路:直接模拟肯定不行,10的^18数据太大,两种做法。第一种:直接利用log对数函数,ij和j^i两边取对数。给出i,j.令x=ij,y=j^i.代码实现如下。注意要开long double.#include<bits/stdc++.h>#define ll long longconst int maxn...原创 2019-09-26 22:31:22 · 180 阅读 · 0 评论 -
C. Finite or not? 984C 数论加思维
传送门题意:给你T组数据,一组数据中有p,q,b。判断p/g在b进制下有限还是无限。思路:看了很多组题解,什么质因子把我搞的一头雾水,咱不那么高大上,简单分析一下。补充知识点:小数转化为几进制,那么就用它乘几,如果来到了个位,就将个位拿出来,小数位继续乘,直到乘出一个小数全为0的数为止。实在不懂可自行百度十进制小数转化二进制<-这是链接首先:p/g如果是有限小数的话,那么与p是无关的...原创 2019-09-26 22:05:26 · 213 阅读 · 0 评论 -
E - High School: Become Human对数函数
传送门思路:第一次了解要用对数函数。b*log(a)就代表以e为底,a的对数。那我们直接转化就行了。 记得要开long double.#include<bits/stdc++.h>#define ll long longconst int maxn = 1e5 + 5;using namespace std;int main() { long long a,b;...原创 2019-09-24 22:23:54 · 188 阅读 · 0 评论 -
计蒜客 DD 爱数数 埃氏筛选+回文数
埃氏筛选降低复杂度 对于 100%100% 的数据, L≤R≤1e6考虑埃氏筛选。#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>#include<cstdlib>#include<queue>#include<...原创 2019-09-08 20:48:16 · 310 阅读 · 0 评论 -
先养着有时间看 判断素数的方法
一大神的判断素数的四种方法原创 2019-09-08 17:40:21 · 91 阅读 · 0 评论