求最大公约数,我们想想有什么方法可以求呢? 首先我先来说一下最弱智的算法: 就是从1开始试,试来试去的就搞出来了…… 代码如下: 1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int m,n,j; 6 cin>>m>>n
分类:
其他好文 时间:
2016-01-28 13:41:46
阅读次数:
146
欧几里得算法又称辗转相除法,主要用于求两数的最大公约数即gcd(a,b)。欧几里得算法给出gcd(a,b)=gcd(b,a%b)(a>b)下面我们给出证明:首先我们设k为gcd(a,b),则a=km,b=kn。则a%b=a-c*b=km-c*kn=(m-cn)kgcd(b,a%b)=gcd(kn,(...
分类:
其他好文 时间:
2016-01-25 13:08:39
阅读次数:
131
今天听得简直要崩溃。。。没听懂啥。。。 主要内容: 1.欧几里得(稍微懂了点) 2.中国剩余定理( 稍微懂了点) 3.博弈( 看智商的玩意儿)(一)欧几里得算法(及其扩展算法) 欧几里得定理就是gcd(辗转相除法)的原理(不懂,只会用)。 扩展算法的运用大概就是用来解一个 ax + ...
分类:
其他好文 时间:
2016-01-25 00:06:17
阅读次数:
293
辗转相除法求最大公约数 设两数为a、b(b<a),求它们最大公约数(a,b)的步骤如下:用b除a,得a=bq......r1(0≤r)。若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b=r1q......r2(0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,...
分类:
其他好文 时间:
2015-12-26 16:46:03
阅读次数:
174
最大公因数的定义:a1,a2,...,an(n>=2)是n个整数,d是所有ai的因数,称d是a1,a2,...,an的公因数,在它们的公因数中取最大的,称为a1,a2,...,an的最大公因数,记作(a1,a2,...,an)。(a1,a2,...,an)=d (1)d|ai, i=1,...,n ...
分类:
其他好文 时间:
2015-12-20 20:50:34
阅读次数:
222
public static int gcd(int a, int b) { int n1 = Math.abs(a); int n2 = Math.abs(b); int remainder = n1 % n2; while (remainder > 0) { n1 = n2; n2 ...
分类:
其他好文 时间:
2015-12-06 11:13:46
阅读次数:
116
---恢复内容开始---最近在看一本算法的书。讲的都是一些基本的问题,并没有涉及很复杂的算法,或者说这本书更看重技巧。其中开篇就讲了最大公约数的算法,觉得有可取之处,和大家分享一下。提到最大公约数我们最先想到的一定是辗转相除法。没错,永远不要蔑视我们的祖先,他们的智慧是无穷的。(扯远了,嘿嘿)我们都...
分类:
其他好文 时间:
2015-11-24 22:04:42
阅读次数:
237
求两正整数的最大公约数,用辗转相除法。 1 #include 2 3 #define swap(a,b,type) do{ type t; t=a; a=b; b=t; }while(0) 4 5 int gcd(int a,int b) 6 { 7 int t; 8 as...
分类:
其他好文 时间:
2015-11-19 18:30:42
阅读次数:
148
//辗转相除法求最大公约数#includeusing namespace std;int main(){int m,n;cin>>m>>n;int k=m%n;while(k){ m=n;n=k;k=m%n;}cout<<"最大公约数是"<<n<<endl;return n;}
分类:
其他好文 时间:
2015-11-16 19:09:03
阅读次数:
111
求两个数的最大公约数:用辗转相除法#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>intmain(){ intnum1=0; intnum2=0; scanf_s("%d%d",&num1,&num2); while(num1%num2) { intr=num1%num2; num1=num2; num2=r; } printf("%d\n",num..
分类:
其他好文 时间:
2015-11-05 00:53:41
阅读次数:
188