求两个正整数之间的最大公约数
2014-07-17 23:35
169 查看
#include<stdio.h> #include<stdlib.h> void Compare(unsigned int *num_a, unsigned int *num_b); unsigned int GetGCD(unsigned int num_a, unsigned int num_b); int main() { unsigned int num_a, num_b;//input integer a,b unsigned int num_gcd;//the remainder of each division printf("*******Get Greatest Common Divisor*******\n"); printf("Please input positive integer:\na="); scanf("%d", &num_a);//input num_a firstly printf("b="); scanf("%d", &num_b);//input num_b secondly Compare(&num_a, &num_b);//compare num_a and num_b to ensure num_a is the large number num_gcd=GetGCD(num_a, num_b); printf("Greatest Common Divisor Between %d and %d is %d\n", num_a, num_b, num_gcd); return EXIT_SUCCESS; } void Compare(unsigned int *num_a, unsigned int *num_b) { unsigned int temp; if (*num_a < *num_b)//if num_a is smaller than num_b, then change them { temp = *num_a; *num_a = *num_b; *num_b = temp; } } unsigned int GetGCD(unsigned int num_a, unsigned int num_b) { unsigned int num_mod=1; num_mod = num_a %num_b; while (0 != num_mod)//judge whether the number is the GCD { num_a = num_b; num_b = num_mod; num_mod = num_a %num_b; } return num_b; }
相关文章推荐
- C语言计算两个正整数的最大公约数与最大公倍数
- 利用辗转相除法求两个正整数的最大公约数
- 将两个正整数的最大公约数表示成两个数的线性组合
- 求两个正整数a 和 b的最大公约数。
- 5-1.用递归编写两个正整数的最大公约数
- 求两个正整数的最大公约数 使用c++ class编写
- 求两个正整数的最大公约数
- 求两个正整数的最大公约数,最小公倍数
- 6-1用循环编写两个正整数的最大公约数
- 求两个正整数的最大公约数
- 用辗除法求两个正整数的最大公约数
- Euclid算法-计算两个正整数的最大公约数
- 求最大公约数。考虑两个正整数都很大的情况。
- 编写程序,采用辗转相除法求解两个正整数的最大公约数
- [c++]求两个正整数的最大公约数
- 求任意两个正整数的最大公约数和(GCD)和最小公倍数(LCM)
- 【数学】求两个正整数的最大公约数
- C语言计算两个正整数的最大公约数与最大公倍数
- 求两个正整数的最大公约数
- 求两个正整数的最大公约数GCD