C++求两个数的最大公约数
来源:互联网 发布:环球黑卡 知乎 编辑:程序博客网 时间:2024/06/05 20:12
思路一:给定a,b两个数,将较小的数赋值给c,令c=b(不妨设a>b),将a和b对c做求余运算,从c开始依次向下遍历,直到两者的余数都为0,否则c减1,继续循环遍历。
代码如下:
#include<iostream.h>int gcd(int a,int b){int c;c=(a>b)?b:a;while(a%c!=0||b%c!=0){c--;}return c;}int main(){int a,b,max_div;cout<<"please input two integer:";cin>>a>>b;max_div=gcd(a,b);cout<<"the greatest common divisor of ";cout<<a<<" and "<<b<<" is "<<max_div<<endl;return 0;}
思路二:辗转相除法
假设a>b,如果a不能被b整除,则将b赋值给a,余数赋值给b,重复执行a%b,直到a能够被b整除。此时返回b的值,则为最大公约数。
代码如下:
#include<iostream.h>int gcd2(int a,int b){int c;if(a<b){a=a+b;b=a-b;a=a-b;}c=a%b;while(a%b!=0){a=b;b=c;c=a%b;}return b;}int main(){int a,b,max_div;cout<<"please input two integer:";cin>>a>>b;max_div=gcd2(a,b);cout<<"the greatest common divisor of ";cout<<a<<" and "<<b<<" is "<<max_div<<endl;return 0;}
参考文献:http://blog.csdn.net/a1414345/article/details/51770430
0 0
- 【C语言】求两个数的最大公约数
- C语言 求两个数的最大公约数
- C语言求两个数的最大公约数
- 【C语言】求两个数的最大公约数
- 求两个数的最大公约数 C语言
- c语言求两个数的最大公约数
- 【C】求两个数的最大公约数
- C求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求两个数的最大公约数
- 求职准备413
- 一些底层基本知识(Android篇二)
- 机器学习(周志华)_第四章 决策树
- CSDN日报20170413 ——《天天写业务代码的那些年,我们是如何成长过来的》
- 点击屏幕其它地方,让EditText失去焦点,并获取EditText输入的类容
- C++求两个数的最大公约数
- Servlet(14)加载文件及会话技术介绍
- js的&&与||运算符
- uva 821 Page Hopping 最短路floyd
- H5基础第五课时CSS篇(1)
- PHP htmlspecialchars() 的反函数 html_entity_decode()
- Algorithm-Gossip 经典算法系列 说明文档
- Iframe和a标签的downLoad新属性实现-调用浏览器的本地下载功能
- H5基础第五课时CSS篇(2)