方法一:
#include <stdio.h>
int main()
{
int m = 0;
int n = 0;
int tmp = 0;
printf("请输入两个整数: ");
scanf("%d %d", &m, &n);
while (tmp = m % n)
{
m = n;
n = tmp;
}
printf("最大公约数为:%d\n", n);
return 0;
}
方法二:
#include<stdio.h>
#include<windows.h>
#pragma warning(disable:4996)
int main(){
//更相减损法
int a = 0;
int b = 0;
printf("请输出两个整数:");
scanf("%d%d", &a, &b);
while ((a - b)!=0){
if (a > b){
a = a - b;
}
else{
b = b - a;
}
}
printf("最大公约数为:%d\n", b);
system("pause");
return 0;
}
c语言求两个数的最大公约数
} printf("最大公约数为:%d\\n", b);system("pause");return 0;}
如何用C语言求两个数的最大公约数的三种算法
int d=0;\/\/计数器 while(1){ printf("输入两个数字求最大公约数:");scanf("%d%d",&a,&b);c=(a>b)?b:a;\/\/三目运算符 while(a%c!=0||b%c!=0){ c--;d++;} printf("最大公约数是:%d\\n",c);printf("%d\\n",d);} return 0;} ...
c语言求两个数的最大公约数是多少?
int a,b;scanf("%d%d",&a,&b);3、然后取a,b这两个数中的较小值,存放到变量n中。代码为:int n=a;if (n>b)n=b;4、接着从两个数a和b中的较小数开始,依次逐个减小1,以便能寻找出可以整除a和b的整数。第一个找到的整数就是整数a和b的最大公约数。代码:for(int i=n;i>=1;...
用c语言求两个数的最大公约数
在C语言中,可以使用欧几里得算法(也称为辗转相除法)来求解两个数的最大公约数。该算法基于如下原理:两个数的最大公约数等于其中较小的数和两数的差的最大公约数。以下是用C语言实现求两个数的最大公约数的代码:include<stdio.h>intgcd(inta,intb){if(b==0)returna;elsereturngcd(b,a%b...
c语言求2个数的最大公约数
c语言求2个数的最大公约数方法是:相减法,也叫更相减损法。思路:1、如果a>ba=a-b。2、如果b>ab=b-a。3、假如a=b ,则a或b是最大公约数。4、如果a=b,则继续从1开始执行。5、也就是说循环的判断条件为a=b ,直到a=b时,循环结束。举例说明:a=28,b=21。a>b。则a=a-b=28-...
求两个数的最大公约数c语言
用c语言求两个数的最大公约数代码如下:1、#include int maininti,a,b,t;scanf(%d%d,&a,&b);输入数a,bifa>b比较a,b大小,如果a>b则交换,结果为a{t=a;a=b;b=t;fori=a;i>=2。2、以较小的a为基数,每内次i减小1循环求最大公容约数ifa%i==0&&b%i==0如果两数均能整除...
c语言怎样算两个数的最大公约数。
include <stdio.h> int GCD(int a,int b)\/\/定义函数,用来计算最大公约数 { return b==0?a:GCD(b,a%b);\/\/此处使用了递归,如果b=0,返回a为最大公约数,否则,一直以b与a%b赋给函数,实现辗转相除 } int main(){ int a, b ; \/\/定义实参a, b int answer ; \/\/定义最后结果 s...
c语言怎么求两个整数的最大公约数?
3、假如a = b,则 a或 b是最大公约数;4、如果a != b;则继续从一开始执行;5、也就是说循环的判断条件为a != b,直到a = b时,循环结束。代码如下:define _CRT_SECURE_NO_WARNINGS 1 include <stdio.h> int main(){ int a = 0;int b = 0;printf("输入两个数求最大公约数:"...
C语言如何求两个数的最大公约数
C语言中计算两个数的最大公约数可以通过两种方法实现:求差法和求模法。首先,我们介绍求差法。这种方法的基本步骤是:输入两个数,让较大的数减去较小的数,然后用得到的差与较小数比较。如果差等于较小数,那么这个较小的数就是最大公约数。如果差不等于较小数,就继续这个过程,直到差等于较小数...
c语言如何求两个数的最大公约数?
include <stdio.h> int main(){ int m,n,c,d,t;printf("请输入两个数:\\n");scanf("%d%d",&m,&n);if(m<n){ t=m;m=n;n=t;} d=m*n;c=m%n;while(c!=0){ m=n;n=c;c=m%n;} printf("最大公约数是:\\n%d\\n",n);printf("最小公倍数是:\\n%d\\n",d\/n);} ...