0.0分
21 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
0.0分
21 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
为啥你们的都那么复杂 #include<stdio.h> int main() { int a,b; scanf("%d%d",&a,&b); int i=(a<b?a:b); \\取两数字中小的一个为赋给i; for(;i>1;i--) { if(a%i==0&&b%i==0) \\因为最大公约数肯定不会超过两数字中最小的一个,所以a,b除i,都满足整除就不用再循环了 break; } printf("%d %d\n",i,a*b/i); return 0; }int main(int argc, char *argv[]) { int a,b,i,j; scanf("%d%d",&a,&b); j=a*b; a=j/(a>b?a:b); //a用于存放小的数 b=j/a; for(i=a;i>=1;i--) { if(a%i==0&&b%i==0) break; } printf("最大公因数为%d\n",i); printf("最小公倍数为%d\n",j/i); return 0; } //最大公因数从最大的开始找可能会更简单一点将下面老哥的代码改了一下。(顺序还有一些小方面) #include<stdio.h> int a, b, c, d, i; int gys(int a, int b); int gbs(int a, int b); int main() { scanf("%d %d", &a, &b); d = gbs(a, b); c = gys(a, b); printf("%d %d", c, d); return 0; } int gys(int a, int b) { c = a < b ? a : b; for ( i = c; i > 0; i--) { if (a % i == 0 && b % i == 0) { break; } } return i; } int gbs(int a, int b) { int c = (a * b) / gys(a, b); return c; }#include<stdio.h> #include<string.h> int a,b,c,d,e; int fun(int a, int b) { while (b != 0) { e = a % b; a = b; b = e; } return a; } int solo(int a, int b) { c = a; d = b; e = (c * d) / fun(a, b); return e; } int main() { scanf("%d%d", &a, &b); //solo(a,b); printf("%d %d\n", fun(a,b),solo(a,b)); return 0; }#include<stdio.h> int gys(int a,int b); int gbs(int a,int b); int main() { int a,b,c,d; scanf("%d %d",&a,&b); c=gys(a,b); d=gbs(a,b); printf("%d %d",c,d); return 0; } int gys(int a,int b) { int c=a<b?a:b,i; for(int i=c;i>0;i--) { if(a%i==0 && b%i==0) {break;} } return i; } int gbs(int a,int b) { int c=a*b/gys(a,b); return c; } 为什么错了啊?