(第23列)C语言典型题:求两个数的最小公倍数和最大公约数。(两种解法)
C语言 两个 两种 最小 23 解法 典型 最大公约数
2023-09-11 14:19:28 时间
结果如下:
第一种:
#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; }
相关文章
- C语言之通过冒泡排序浅谈编程思想
- C语言中short的意思
- C语言实现粒子群算法(PSO)二
- C语言/C++常见习题问答集锦(五十五) 之矩形类处理程序
- ZZNUOJ_用C语言编写程序实现1140:小数点后第n位 多实例(附完整源码)
- C语言与C++之常见问题分享
- C语言初阶最后一课:倒置字符串(例如:I like beijing.打印成:beijing.like I)
- C语言: 定义一个函数int isprime(int n),用来判别一个正整数n是否为素数。在主函数中输入两个正整数m和n(m>=1,n>m),统计并输出m和n之间的素数的个数以及这些素数的和。
- C语言:定义一个计算两个整数的和的函数int sum(int a,int b),在主函数中输入两个整数x和y,调用sum(x,y)输出x+y的和。
- Visual Studio 控制台程序世界杯足球C语言版
- C语言入门之指针(2)