首页 > 其他分享 >辗转相减法求最大公约数

辗转相减法求最大公约数

时间:2022-12-22 09:35:21浏览次数:40  
标签:int 辗转 最小值 最大公约数 减法 include

要求:

用C实现一个函数 int gcd(int a, int b) 求解两个整数的最大公约数,算法步骤是,用a ,b中的大值减去小值得到临时值c,然后再用c和a,b中的最小值进行计算,直到c和a,b中的最小值相等。一个例子参考附件。

代码:

#include<stdio.h>
#include<math.h>
int xiangjian(int a, int b)
{
	while (1)
	{
		if(a>b)
		{
			a = a-b;
		}
		else if(a<b)
		{
			b = b-a;
		}
		else if(a==b)
		{
			return a;
		}
                else
                {
                        return 0;
                }
	}
}
int main()
{
	int a,b;
        scanf("%d %d",&a,&b);
	printf("20201303 | %d and %d maxshu: %d\n", a, b, xiangjian(a, b));
	return 0;
 
}

标签:int,辗转,最小值,最大公约数,减法,include
From: https://www.cnblogs.com/sanfeng-ooo/p/16997647.html

相关文章

  • 辗转相除法求最大公约数
    代码#include<stdio.h>intmain(){ inta,b,r,temp; printf("Pleaseentera,b:"); scanf("%d,%d",&a,&b); if(a<b) { temp=a; a=b; b=temp; } r=a%b; ......
  • 最大公约数(一)
        如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数。几个自然数公有的约数,叫做这几个自然数的公约数。公约数中最大的一个公约数,称为这几个自然数的......
  • [JSOI2015]最大公约数
    链接:https://www.luogu.com.cn/problem/P5502题目描述:对于一个序列$a$,求$\sum_{i=l}^{r}gcd(a_{l},....,a_r)\times(r-l+1)$的最大值。题解:利用"签到游戏"的知识,我们......
  • 最大公约数 GCD greatest common divisor
     辗转相除法#include<stdio.h>intmain(void){intm,n,r;scanf("%d%d",&m,&n);if(m<n){m=m^n;n=m^n;......
  • Lucky Chains(最大公约数的应用)
    题目:LuckyChains题意:给定两个正整数a,b,若(a,b)=(a+1,b+1)=(a+2,b+2)=...=(a+k,b+k)=1,求k的最大值(k的最大值可能为正无穷)思路:由于最......
  • C语言:用一个函数求任意两个整数的最大公约数或最小公倍数
    #include<stdio.h>intgygb(intm,intn,intx){inta;if(x==0){for(a=m;a>=1;a--)if(m%a==0&&n%a==0)returna;return......
  • C#辗转相除法输出最大公约数
    voidmain(){intr,m,n,t;scanf_s("%d\n%d",&m,&n);if(m<n){t=m;m=n;n=t;}while(2){r......
  • 计算有序分数加减法
    intmain(){ inti=0; intflag=1; doublesum=0.0;//计算结果为小数,赋值应为小数; doublesum1=0.0; doublesum2=0.0; for(i=1;i<=100;i++) { /*sum+=f......
  • 【python】求最大公约数、最小公倍数、回文数、素数
    1.最大公约数最大公因子,指两个或多个整数共有约数中最大的一个。如(12,16)的公约数有1,2,4,最大的为4。defgcd(x,y):(x,y)=(y,x)ifx>yelse(x,y)fo......
  • 高精度减法
    给定两个正整数,计算它们的差。#include<iostream>#include<vector>usingnamespacestd;vector<int>a,b,c;boolcmp(){if(a.size()!=b.size())retu......