![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
简单数论
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 · 182 阅读 · 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 · 156 阅读 · 0 评论 -
A New Function LightOJ - 1098
传送门题意:求1到n每个数的因子和的和,而且要求一个数的因子不包含本身和1我们的做法是枚举因子,计算当前这个因子出现过多少次,而枚举范围为是2到sqrt(n),对于大于sqrt(n)的则用等差来求其和例如10枚举2的时候,我们求的等差就是4 5AC代码:#include<bits/stdc++.h>#define LL long long#define ULL unsi...原创 2020-02-02 12:48:01 · 174 阅读 · 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 · 155 阅读 · 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 · 151 阅读 · 0 评论