
简单数论
One believe
欢迎来到Onebelieve的博客
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Finding LCM LightOJ - 1215
传送门 题意: 给出a,b,L求lcm(a,b,c)=L 首先我们可以算出ab的lcm为k,然后令L/k=r,从r开始枚举c 那么k∗c/gcd(k,c)=Lk*c/gcd(k,c)=Lk∗c/gcd(k,c)=L,当gcd(k,c)等于1时即找到c的最小值 AC代码: #include<bits/stdc++.h> using namespace std; int main() { ...原创 2020-02-02 15:16:31 · 254 阅读 · 1 评论 -
Bank Robbery LightOJ - 1163
传送门 题意: 给你一个A-B,让你求A的所有值,B等于A/10. 根据题意我们可以列一个方程,令A%10=k 那么我们可以得到A(A=10B+k)−B=XA(A=10B+k)-B=XA(A=10B+k)−B=X,即9B=X−K9B=X-K9B=X−K 因为k是0到9,所以我们枚举k就能得到B,那么就可以反推A了 AC代码: #include<bits/stdc++.h> using ...原创 2020-02-02 13:45:15 · 198 阅读 · 0 评论 -
A New Function LightOJ - 1098
传送门 题意: 求1到n每个数的因子和的和,而且要求一个数的因子不包含本身和1 我们的做法是枚举因子,计算当前这个因子出现过多少次,而枚举范围为是2到sqrt(n),对于大于sqrt(n)的则用等差来求其和 例如10枚举2的时候,我们求的等差就是4 5 AC代码: #include<bits/stdc++.h> #define LL long long #define ULL unsi...原创 2020-02-02 12:48:01 · 213 阅读 · 0 评论 -
Trailing Zeroes (II) LightOJ - 1090
传送门 首先这个题的意思是给你四个数字,让你找出这四个数字按照规则组合在一起得到的数字的后缀0的个数 前两个数字为组合数,后面两个为指数然后再相乘 我们的目的是得到后缀0的位数,而后缀0则取决于分解因子后5的个数和2的个数,所以我们只需要统计这两个数字的个数取最小即可 AC代码: #include<bits/stdc++.h> using namespace std; #define ...原创 2020-02-01 15:28:48 · 202 阅读 · 0 评论 -
Digits of Factorial LightOJ - 1045(简单数论)
传送门 题目大意,给你两个数字,让你找n的阶乘在k进制下的位数 这个题比较简单,首先有一个转换就是十进制下的位数是log(n!)log(n!)log(n!) log10(n!)=log101+log102+log103+⋯+log10nlogk(n!)=log10(n!)∗logk10log_{10}(n!)=log_{10}1+log_{10}2+log_{10}3+\dots+log_{10}...原创 2020-01-28 13:15:01 · 194 阅读 · 0 评论