(第23列)C语言典型题:求两个数的最小公倍数和最大公约数。(两种解法)

简介: (第23列)C语言典型题:求两个数的最小公倍数和最大公约数。(两种解法)

结果如下:



第一种:

#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;
}
相关文章
|
5月前
|
存储 安全 C语言
【C语言刷题每日一题】——求最大公约数(带数学计算过程详解)
【C语言刷题每日一题】——求最大公约数(带数学计算过程详解)
|
5月前
|
C语言
C语言学习记录——操作符习题、算数转换习题,多解法&优解法&单选题
C语言学习记录——操作符习题、算数转换习题,多解法&优解法&单选题
28 1
|
5月前
|
C语言
C语言---最大公约数和最小公倍数的求法
C语言---最大公约数和最小公倍数的求法
|
5月前
|
算法 C语言
C语言——最大公因数和最小公倍数
C语言——最大公因数和最小公倍数
350 0
|
6月前
|
C语言
C语言每日一练——Day02:求最小公倍数(3种方法)
C语言每日一练——Day02:求最小公倍数(3种方法)
|
6月前
|
C语言
C语言每日一练——Day01:求最大公约数(三种方法)
C语言每日一练——Day01:求最大公约数(三种方法)
|
6月前
|
C语言
C语言之九九乘法表||素数||最小公倍数
C语言之九九乘法表||素数||最小公倍数
59 0
|
18天前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
30 3
|
C语言
C语言OJ项目参考(1047) 最大公约数和最小公倍数
1047: 求两个整数的最大公约数和最小公倍数 Description 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。 Input 两个数 Output 最大公约数 最小公倍数 Sample Input 6 15 Sample Output 3 30 HINT 主函数已给定如下,提交时不需要包
1498 0
|
9天前
|
存储 缓存 C语言
【c语言】简单的算术操作符、输入输出函数
本文介绍了C语言中的算术操作符、赋值操作符、单目操作符以及输入输出函数 `printf` 和 `scanf` 的基本用法。算术操作符包括加、减、乘、除和求余,其中除法和求余运算有特殊规则。赋值操作符用于给变量赋值,并支持复合赋值。单目操作符包括自增自减、正负号和强制类型转换。输入输出函数 `printf` 和 `scanf` 用于格式化输入和输出,支持多种占位符和格式控制。通过示例代码详细解释了这些操作符和函数的使用方法。
27 10