C语言实现辗转相除法(两种方法)

2023-05-16

辗转相除法:

又名“欧几里德算法”
在这里插入图片描述
图片来自搜狗搜索。

 

第一种方式:

根据定义就可以写出一种比较简单的实现方法:、

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
	int a,b,c;
	scanf("%d %d",&a,&b);
	c=a%b;
	while(c!=0)
	{
		a=b;
		b=c;
		c=a%b;	
	}
	printf("%d",b);//将除数输出 
	return 0;
}

 

第二种方式:

熟练掌握辗转相除法之后,可以用递归的形式来实现:

#include <stdio.h>
#include <stdlib.h>

//递归函数
int gcd(int a,int b){
	if(b==0) return a;//返回a,即返回上一步的b 
	return gcd(b,a%b);
}

int main(int argc, char *argv[]) {
	int a,b;
	scanf("%d %d",&a,&b);
	printf("%d",gcd(a,b));
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言实现辗转相除法(两种方法) 的相关文章

  • CSP201512-3 画图(C++实现)

    题目 样例输入1 4 2 3 1 0 0 B 0 1 0 2 0 1 0 0 A 样例输出1 AAAA A A 样例输入2 16 13 9 0 3 1 12 1 0 12 1 12 3 0 12 3 6 3 0 6 3 6 9 0 6 9
  • week12 csp-m3 T4-咕咕东学英语

    题目 样例输入 5 AABBB 样例输出 6 思路 刚拿到这个题目的感觉就是懵 xff0c 非常懵 题目很简单 xff0c 但是怎么做呢 我们来分析一下 xff0c 什么样的字串是满足条件的呢 xff1f 在一个字串中 xff1a 如果字母
  • csp 201809-3元素选择器 C++

    思路 其实题目很简单 xff0c 就是很麻烦 要构建一个树形结构 xff0c 使用结构体对每个节点进行存储 只有直系的父辈才算祖先 xff08 伯父不算祖先 xff09 xff0c 在后代选择器中 node xff1a struct nod
  • csp-m4(TT数鸭子、ZJM抵御宇宙射线、宇宙狗的危机)

    A TT数鸭子 题目 样例输入 6 5 123456789 9876543210 233 6661 114514 样例输出 4 题目 这道题最大的难点 xff0c 在于读懂题目 xff01 xff01 数位中不同的数字是 xff1f 比如1
  • SDU-考试模测 T3

    题目 青蛙去找瓜瓜 xff0c 青蛙在1号位置 xff0c 瓜瓜在n号位置 青蛙一次可以走 k 步 xff0c 走1 k 步耗费的体力不同 问青蛙找到瓜瓜耗费的最小体力是多少 xff1f 输入 第一行输入n k op xff0c op 61
  • 阿里云物联网平台搭建

    https www aliyun com 打开网址 xff0c 注册账号 按下图一步步操作 首先需要开通 公共实例 xff0c 我以前就开通过 xff0c 因此只需点击进入即可 在 产品 下 创建产品 按照 步骤操作 xff0c 其中 并不

随机推荐