gcd
抠脚老騷
这个作者很懒,什么都没留下…
展开
-
hdu-5902-gcd
#include <bits/stdc++.h> using namespace std; #define mod 1e9+7 #define ll long long int a[2005],b[2001]; int main(){ int _;cin>>_; while(_--){ int i,n,num,flag=1; memset(a,0,sizeof(a)); for(cin>>n,i=0,num原创 2020-08-12 18:19:08 · 105 阅读 · 0 评论 -
gcd学习
gcd学习 gcd函数简介 最大公约数(greatest common divisor,gcd):指能够整除多个整数的最大正整数。而多个整数不能都为零。例如8和12的最大公因数为4。 求两个整数最大公约数主要的方法: 1.穷举法:分别列出两整数的所有约数,并找出最大的公约数。 2.素因数分解:分别列出两数的素因数分解式,并计算共同项的乘积。 3.短除法:两数除以其共同素因数,直到两数互素时,所有除数的乘积即为最大公约数。 4.辗转相除法:两数相除,取余数重复进行相除,直到余数为0时,前一个除数即为最大公约数原创 2020-08-10 15:12:04 · 190 阅读 · 0 评论 -
hdu-5223-gcd
#include <bits/stdc++.h> #define ll long long #define MAX 1007 using namespace std; int shit(){ int n,q,flag=1; ll a[MAX],l[MAX],r[MAX],an[MAX]; cin>>n>>q; for(int i=0;i<=n;i++)a[i]=1; for(int i=0;i<q;i++){原创 2020-08-10 15:00:00 · 164 阅读 · 0 评论 -
hdu-2588-gcd-欧拉函数学习
题目链接 #include<bits/stdc++.h> using namespace std; typedef long long ll; //欧拉函数 int euler(int n){ int ret=n; for(int i=2;i<=sqrt(n);i++) if(n%i==0){ ret=ret/i*(i-1); while(n%i==0)n/=i; } if(n>1)ret=ret/n*(n-原创 2020-08-07 19:01:54 · 309 阅读 · 0 评论 -
hdu-2504-gcd练习
题目链接 #include<bits/stdc++.h> using namespace std; typedef long long ll; int main(){ int n,a,b,i; cin>>n; while(n--) for(cin>>a>>b,i=b+1;i<1000001;i++) if(__gcd(a,i)==b)cout<<i<<endl,i=原创 2020-08-07 18:55:20 · 77 阅读 · 0 评论