解题思路:首先把三个数分成两份计算 最小公约数求法可以取余运算%,用较的大数对较的小数取余,如果两个原数都可以整除取余的结果,则取余的结果就是他们两个的最大公约数,如果不能整除,则把取余结果两个在重复取余当然大数要在前直到求出最大公约数。
注意事项: 有两种特殊的情况 1.没有公约数,2.两数成倍数关系。
参考代码:
#include <stdio.h>
int gongyu(int x ,int y){
int a=x;
int b=y;
while(1){
if(a<b){
int t=a;
a=b;
b=t;
}
a = a%b;
if(a==1){
return x*y;
}
if(a==0){
int t=x;
if(x<y){
t=y;
}
return t;
}
if(x%a==0&&y%a==0) {
return x*y/a;
}
}
}
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d",gongyu(gongyu(a,b),c));
}
0.0分
0 人评分
C语言训练-阿姆斯特朗数 (C语言代码)浏览:865 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:2469 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:590 |
字符串输入输出函数 (Java代码)浏览:1445 |
C语言训练-求函数值 (C语言代码)浏览:941 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:907 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:687 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1163 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:703 |
【明明的随机数】 (C语言代码)浏览:801 |