热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

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

最大公约数和最小公倍数●最大公约数:两个数的公共约数中最大的那个,求最大公约数的办法有辗转相除法、更相减损法、穷举法。下面详细介绍着三种方法。●最小公倍数:两数

最大公约数和最小公倍数

●最大公约数:两个数的公共约数中最大的那个,求最大公约数的办法有辗转相除法、更相减损法、 穷举法。下面详细介绍着三种方法。
●最小公倍数:两数的乘积除以最大公约数就是最小公倍数。


①辗转相除法
【算法设计】:
【参考代码】:
int common_facter(int x, int y)
{
	int tmp = 0;
	while (x%y)
	{
		tmp = x%y;
		x = y;
		y = tmp;
	}
	//这里不必比较两个数的大小,因为小数对大数求余是它自己,相当于交换两数
	return y;
}

更相减损法
【算法设计】:


【参考代码】:
int common_facter(int x, int y)
{
	while (x != y)
	{
		if (x > y)
		{
			x = x - y;
		}
		else if (x  
 

③穷举法
【算法设计】:
【参考代码】:
 
 
int common_facter(int x, int y)
{
	int temp = x;
	while (temp)
	{
		if ((x%temp == 0) && (y%temp == 0))
		{
			break;
		}
           temp--;
	}
	//用穷举的方法找到两个数共同最大的约数
	return temp;
}

【测试文件】:test.c
#pragma warning(disable:4996)
#include
#include

int main()
{
	int a = 0;
	int b = 0;
	int ret = 0;
	int temp = 0;
	printf("请输入两个数:");
	scanf("%d%d", &a, &b);
	temp = a*b;
	ret = common_facter(a, b);
	printf("最大公约数为:%d\n", ret);
	printf("最小公倍数为:%d\n", temp/ret);
	system("pause");
	return 0;
}

【运行结果】:

参考源码:求最大公约数和最小公倍数。欢迎转载,转载请声明出处https://blog.csdn.net/hansionz


推荐阅读
  • 如何修改360极速浏览器的默认安装路径
    本文介绍了一种有效的方法,帮助用户在新版360极速浏览器中成功更改默认安装路径,解决因权限问题导致的安装失败。 ... [详细]
  • 本文介绍了多种开源数据库及其核心数据结构和算法,包括MySQL的B+树、MVCC和WAL,MongoDB的tokuDB和cola,boltDB的追加仅树和mmap,levelDB的LSM树,以及内存缓存中的一致性哈希。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 专业人士如何做自媒体 ... [详细]
  • 本文总结了《编程珠玑》第12章关于采样问题的算法描述与改进,并提供了详细的编程实践记录。参考了其他博主的总结,链接为:http://blog.csdn.net/neicole/article/details/8518602。 ... [详细]
  • 三角测量计算三维坐标的代码_双目三维重建——层次化重建思考
    双目三维重建——层次化重建思考FesianXu2020.7.22atANTFINANCIALintern前言本文是笔者阅读[1]第10章内容的笔记,本文从宏观的角度阐 ... [详细]
  • 非计算机专业的朋友如何拿下多个Offer
    大家好,我是归辰。秋招结束后,我已顺利入职,并应公子龙的邀请,分享一些秋招面试的心得体会,希望能帮助到学弟学妹们,让他们在未来的面试中更加顺利。 ... [详细]
  • PHP实现汉诺塔算法
    昨天研究了一天汉诺塔算法都没搞懂,感觉自己智商被碾压了,还不如《猩球崛起》中的那一只猩猩!!!起源传说最早发明这个问题的人是法国数学家『爱德华·卢卡斯』。在世界中心贝拿勒斯(在印度 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 本文介绍了如何通过路由汇总和无类域间路由(CIDR)技术来优化路由表,减少路由条目数量,提高网络效率。具体案例展示了路由汇总的实现方法及其对网络性能的影响。 ... [详细]
  • 双指针法在链表问题中应用广泛,能够高效解决多种经典问题,如合并两个有序链表、合并多个有序链表、查找倒数第k个节点等。本文将详细介绍这些应用场景及其解决方案。 ... [详细]
  • 本文介绍了如何使用Visual Studio Code、Sublime Text等编辑器批量删除MATLAB代码中的注释和空行,同时提供了一些高级技巧以确保代码的整洁。 ... [详细]
  • 本文介绍了几种常用的图像相似度对比方法,包括直方图方法、图像模板匹配、PSNR峰值信噪比、SSIM结构相似性和感知哈希算法。每种方法都有其优缺点,适用于不同的应用场景。 ... [详细]
  • LintCode 1218. 计算补数的 JavaScript 算法
    本题要求给定一个正整数,计算其补数。补数是指将该数字的二进制表示逐位取反,然后转换回十进制得到的新数。 ... [详细]
  • 根据经济日报的报道,截至3月15日,包括抖音、今日头条、微信、淘宝、百度、大众点评、微博和小红书在内的多个主流App已经上线了算法关闭功能,用户可以在后台一键关闭“个性化推荐”。 ... [详细]
author-avatar
夜的泪2502877077
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有