结果如下:
第一种:
#include<stdio.h> int main() { int min(int a,int b); //函数找最小 int max(int c,int d); //函数找最大 int x,y,i,j=0,sum,num,v; printf("请输入两个数:"); scanf("%d %d",&x,&y); for(i=2;i<=min(x,y);i++) { if(x%i==0&&y%i==0) //在两个数的最小值之前是否有同时被两个数除尽的数 { if(i>j) { j=i; //找最大公约数 } } } sum=x*y; //最小公倍数最大为两数乘积 for(v=max(x,y);v<=x*y;v++) { if(v%x==0&&v%y==0) //找除得尽的数 { if(v<sum) { sum=v; //找最小公倍数 } } } printf("最大公约数:%d",j); printf("\n"); printf("最小公倍数:%d",sum); return 0; } int min(int a,int b) { return (a<b?a:b); } int max(int c,int d) { return (c>d?c:d); }
第二种:
#include<stdio.h> int main() { int a,b,t,r,n; printf("请输入两个数字:\n"); scanf("%d %d",&a,&b); if(a<b) //两个数进行大到小排序 { t=b; b=a; a=t; } r=a%b; //两个数的最小公约数 n=a*b; //两个数的最大公倍数 while(r!=0) { a=b; b=r; r=a%b; } printf("这两个数的最大公约数是%d,最小公倍数是%d\n",b,n/b); return 0; }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/66251.html