辗转相除法,又称欧几里得算法。两个正整数a和b(a>b),它们的最大公约数等于余数c和较小的数b之间的最大公约数。最小公倍数=两数之积/最大公约数 #include <stdio.h>int get1(int a, int b){ if (a < b) { int c = a; a = b; b = ...
分类:
编程语言 时间:
2017-05-30 15:55:46
阅读次数:
215
对于求解两个数的最小公约数,能够通过两种方法进行解决,下面是具体的程序:程序一:#include<stdio.h>intmain(){inta[2];inti,min,max;for(i=0;i<2;i++)scanf("%d",&a[i]);if(a[0]<a[1]){min=a[0];max=a[1];}else{min=a[1];max=a[0];}for(i=min;i>0;i--)i..
分类:
其他好文 时间:
2015-10-01 07:02:11
阅读次数:
239
辗转相除法 int gcd(int m, int n){ int remainder; while(remainder!= 0){ remiander = m%n; m = n; n = remainder; } return m; }有两整数a和b:① a%b得余数c② 若c=0,则b即为两数的最...
分类:
其他好文 时间:
2015-07-06 19:33:17
阅读次数:
95
一般来说求两个数最大公约数,我们最先想到的是先找到两个数中较小的数,
然后从较小的数开始递减暴力搜索,如果能同时被两个数整除,那么这个数就是最大公约数,不能则继续递减。
但是当两个数很大的时候,这个算法的效率就变得很差,这时我们就需要一个高效算法。
这里我们利用的是中国古代的辗转相除法,关于辗转相除法的思想可以自行百度,我在这里直接贴代码
#include
int gcd(int a, i...
分类:
编程语言 时间:
2015-03-29 12:19:26
阅读次数:
123