【C语言】求两个数的最大公约数

来源:互联网 发布:mac系统突然很卡 编辑:程序博客网 时间:2024/04/28 03:15

求两个数的最大公约数,我们首先想到的是,创建一个中间变量,让两个数改变,直到最后不能模后,则可求出来最大公约数:

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){int a = 0, b = 0;int tmp = 0;printf("请输入两个数:\n");scanf("%d %d", &a, &b);while (a != 0){tmp = b%a;b = a;a = tmp;}printf("%d\n", b);return 0;}

但是 时我们还有另外 一种辗转相除的方法来求最大公约数:

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){int  a = 0, b = 0;int c = 0;printf("请输入两个数:\n");scanf("%d %d", &a, &b);while (a*b != 0){if (a > b){a = a%b;}else{b = b%a;}}if (a == 0){c = b;}else{c = a;}printf("%d\n", c);return 0;}




0 0
原创粉丝点击