/**
* Author:Probie
* Date:2017-3-21 21:38:14
*/
#include <>
int a, b, temp;
//辗转相除法实现
int Division(){
printf("请输入两个数(a,b):\n");
scanf("%d,%d",&a,&b);
if(a < b){
temp = a;
a = b;
b = temp;
}
while(a%b != 0){
temp = a%b;
a = b;
b = temp;
}
printf("最大公约数为:%d\n",b);
return 0;
}
//相减法实现
int Subtract(){
printf("请输入两个数(a,b):\n");
scanf("%d,%d",&a,&b);
if(a < b){
temp = a;
a = b;
b = temp;
}
while(a-b != 0){
temp = a-b;
a = b;
b = temp;
}
printf("最大公约数为:%d\n",b);
return 0;
}
//穷举法实现
int Exhaus() {
printf("请输入两个数(a,b):\n");
scanf("%d,%d",&a,&b);
if(a < b) {
temp = a;
a = b;
b = temp;
}
for(temp = b; a%temp || b%temp; temp--);
printf("最大公约数为:%d\n",temp);
return 0;
}
int main(){
int nub;
printf("\n求两个数的最大公约数:");
printf("\n1、辗转相除法");
printf("\n2、相减法");
printf("\n3、穷举法");
printf("\n请选择你要使用的方法:\n");
scanf("%d",&nub);
switch(nub){
case 1:
Division();
break;
case 2:
Subtract();
break;
case 3:
Exhaus();
break;
}
return 0;
}
相关文章
- 求两个数的最大公约数的三种算法
- C语言简单编程题——求两个整数的最大公约数
- [算法设计与分析]3.4.2最大公约数的应用(循环移动数组元素)
- <算法>求一个数组的所有排列组合
- C语言求图的最短路径的两种算法(迪杰斯特拉算法与弗洛伊德算法)
- python实现:在两行中分别输入一个正整数M,N,输出这两个数的最大公约数和最小公倍数
- python中最小公倍数函数_python求最大公约数和最小公倍数的简单方法
- python怎么用for循环找出最大值_用for循环语句写一个在输入的十个数字中求最大和最小值的python程序应该怎么写?...
- (1)输入直角三角形的两个直角边的长度a,b,求斜边c的长度 (2) 编写一个程序,用于两个数的交换
- python求两个整数的最大公约数_求两个数最大公约数的三种方法(Python实现),两数,python...