C语言之基本算法10—最大公约数和最小公倍数

/*

==================================================================

题目:求两个数的最大公约数和最小公倍数。

==================================================================

*/

#include<stdio.h>

main()

{

int m,n,r,t,j,q;

printf("输入两整数:\n");

scanf("%d%d",&m,&n);

if(n>m)

{

t=m;

m=n;

n=t;

}

j=m*n;

while((r=m%n)!=0)

{

m=n;

n=r;

}

printf("最大公约数:%d\n",n);

printf("最小公倍数:%d\n",j/n);

}

/*

==================================================================

评:输入两个整数,使m>n,如果余数不为0,则另被除数等于除数,除数等

于余数,直到余数为0,则除数就是最大公约数;最小公倍数就是两数之积

除以最大公约数。

==================================================================

*/

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-12 19:38:38

C语言之基本算法10—最大公约数和最小公倍数的相关文章

使用stein 算法计算 最大公约数和最小公倍数

比欧几里得算法高效的用来计算gcd和lcm的stein算法,用来大数的计算: function gcd(a,b){ if(a == b){return a;} var bigger; var smaller; if(a>b){bigger = a;smaller = b;} else{bigger = b;smaller = a;} if(smaller == 0){return bigger;} if(bigger %2 == 0 && smaller % 2 == 0){ ret

c语言求两个数的最大公约数和最小公倍数

#include <stdio.h> int main() { // 两个数的最大公约数求法:最大公约数是这两个数之间公共最大的约数,我们可以先找到这两个数的比较小的数: int num1, num2, gys, gbs; scanf("%d,%d", &num1, &num2); int ji = num2*num1; if (num1>num2) { // 找到两个数较小的数 int temp; temp = num1; num1 = num2;

【算法】最大公约数、最小公倍数、数学归纳法

最大公约数: 如果数a能被数b整除,a就叫做b的倍数,b就叫做a的约数. 几个整数中公有的约数,叫做这几个数的公约数:其中最大的一个,叫做这几个数的最大公约数. 12.16的公约数有1.2.4,其中最大的一个是4,4是12与16的最大公约数,一般记为(12,16)=4. 公约数的用途就是约分: 把一个分数的分子和分母同时除以它们的公约数,分数的值不变,这个过程就叫约分: 约分让这个分数用起来更简单 最小公倍数: 几个自然数公有的倍数,叫做这几个数的公倍数,其中最小的一个自然数,叫做这几个数的最小

数据结构与算法之--最大公约数、最小公倍数

1.两数求最小公倍数:思路是,两个数,他们分别约去了最大公约数,剩下的两个数应该是互质的,它们的乘积就是这两个数的最小公倍数. package com.lfy; import java.util.Scanner; /** * * @author lfy * @since 2018/07/03 * @version 1.0 */ public class LeastCommonMultiple { public static void main(String[] args) { @Suppress

C语言值基本算法43—总结

C程序的基本算法共涵盖42个例题,包含了枚举.排列.逻辑判断.迭代.递推.字符串操作.矩阵操作.格式输出等内容. 相关的实现方法有的显得很笨拙,但足够说明问题,而且每个程序都经过作者亲测,保证可以运行.之所以称之为基本算法,就是为了测试基础知识的掌握,都是从原始的角度进行处理,没有运用过于花哨的处理技巧,作者也是在学习中进步,也希望这些代码对于没有基础或者基础薄弱的朋友带来帮助. 至此,基本知识就掌握了,我们常常会听说C的强大,因为它是面向过程的,在数学领域具有极好的应用,有必要进行进一步的学习

奇葩的求最大公约数、最小公倍数、分解质因数的做法(C语言)

奇葩的求最大公约数.最小公倍数.分解质因数的做法(C语言) 1 /* 2 最奇葩的求最大公约数与最小公倍数 3 create by laog 4 time 2017年7月27日12:23:14 5 */ 6 7 //两个数的最大公约数 8 //两个数的最小公倍数 9 //将一个正整数分解质因数 --和 2.3.5取余 10 11 #include <stdio.h> 12 13 int main1() 14 { 15 // 3,4 16 //20 17 int v; 18 scanf(&quo

【啊哈!算法】算法10:二叉树

二叉树是一种特殊的树.二叉树的特点是每个结点最多有两个儿子,左边的叫做左儿子,右边的叫做右儿子,或者说每个结点最多有两棵子树.更加严格的递归定义是:二叉树要么为空,要么由根结点.左子树和右子树组成,而左子树和右子树分别是一棵二叉树. 下面这棵树就是一棵二叉树. 二叉树的使用范围最广,一棵多叉树也可以转化为二叉树,因此我们将着重讲解二叉树. 二叉树中还有连两种特殊的二叉树叫做满二叉树和完全二叉树.如果二叉树中每个内部结点都有两个儿子,这样的二叉树叫做满二叉树.或者说满二叉树所有的叶结点都有同样的深

【坐在马桶上看算法】算法10:二叉树

二叉树是一种特殊的树.二叉树的特点是每个结点最多有两个儿子,左边的叫做左儿子,右边的叫做右儿子,或者说每个结点最多有两棵子树.更加严格的递归定义是:二叉树要么为空,要么由根结点.左子树和右子树组成,而左子树和右子树分别是一棵二叉树. 下面这棵树就是一棵二叉树. 二叉树的使用范围最广,一棵多叉树也可以转化为二叉树,因此我们将着重讲解二叉树. 二叉树中还有连两种特殊的二叉树叫做满二叉树和完全二叉树.如果二叉树中每个内部结点都有两个儿子,这样的二叉树叫做满二叉树.或者说满二叉树所有的叶结点都有同样的深

c语言递推算法1

递推算法之一:倒推法 1.一般分析思路: if 求解初始条件F1 then begin { 倒推 } 由题意(或递推关系)确定最终结果Fn; 求出倒推关系式Fi-1 =G(Fi ); i=n; { 从最终结果Fn出发进行倒推 } while 当前结果Fi非初始值F1 do 由Fi-1=G(Fi)倒推前项; 输出倒推结果F1和倒推过程; end { of then } else begin { 顺推 } 由题意(或递推关系)确定初始值F1(边界条件); 求出顺推关系式Fi=G(Fi-1); i=1