3392 - 习题7-1.1 求最大公约数
写一个函数,求两个整数的最大公约数。通过主函数调用这个函数,并输出结果。
两个整数通过键盘输入。
Input
空格分隔的2个整数
Output
输入两数的最大公约数,单独占一行。
Examples
Input
8 12
Output
4
Solution C
#include <stdio.h> #include <string.h> void fun(int num1,int num2) { int temp; if(num1<num2) { temp=num1; num1=num2; num2=temp; } while(num2!=0) { temp=num1%num2; num1=num2; num2=temp; } printf("%d\n",num1); } int main(void) { int num1,num2; scanf("%d %d",&num1,&num2); fun(num1,num2); return 0; }
Solution C++
#include<stdio.h> int main() { int dgy(int,int); int l,x,z; scanf("%d%d",&l,&x); z=dgy(l,x); printf("%d\n",z); return 0; } int dgy(int l,int x) {int q,w; if(x>l) {q=l;l=x;x=q;} while((w=l%x)!=0) { l=x; x=w; } return(x); }