GitHub

暑期社会实践分组 1488 辗转相除法求最大公约数

题目描述

某校要求学生按小组参加暑期社会实践活动,现某专业有三个班级分别m、n和k人,现要把这三个班平均分成若干个小组,并且使每个小组都是同一个班的学生,求每个小组最多有多少名学生。

输入描述

多组输入,每组占一行,输入三个由一个空格分开分正整数。

输出描述

对于每组输入,输出一个正整数,表示每个小组的学生人数

样例输入

42 48 45

50 45 40

样例输出

3

5

三个数的最大公约数

 1 #include<iostream>
 2 using namespace std;
 3 int common(int x,int y){
 4     int m,a,b;
 5     if(x>y){
 6         a=x;
 7         b=y;
 8     }
 9     else{
10         a=y;
11         b=x;
12     }
13     m=a%b;
14     while(m!=0){
15         a=b;
16         b=m;
17         m=a%b;
18     }
19     return b;
20     
21 }
22 int main(){
23     int a,b,c,s1,s2,s3;
24     while(cin>>a>>b>>c){
25         s1=common(a,b);
26         s2=common(b,c);
27         s3=common(s1,s2);
28         cout<<s3<<endl;
29     }
30     return 0;
31 }

 

posted @ 2019-06-25 18:58  繁华似锦觅安宁  阅读(291)  评论(0编辑  收藏  举报