(第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语言——最大公因数和最小公倍数
380 0
|
6月前
|
C语言
C语言每日一练——Day02:求最小公倍数(3种方法)
C语言每日一练——Day02:求最小公倍数(3种方法)
|
6月前
|
C语言
C语言每日一练——Day01:求最大公约数(三种方法)
C语言每日一练——Day01:求最大公约数(三种方法)
|
6月前
|
C语言
C语言之九九乘法表||素数||最小公倍数
C语言之九九乘法表||素数||最小公倍数
62 0
|
29天前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
32 3
|
20天前
|
存储 缓存 C语言
【c语言】简单的算术操作符、输入输出函数
本文介绍了C语言中的算术操作符、赋值操作符、单目操作符以及输入输出函数 `printf` 和 `scanf` 的基本用法。算术操作符包括加、减、乘、除和求余,其中除法和求余运算有特殊规则。赋值操作符用于给变量赋值,并支持复合赋值。单目操作符包括自增自减、正负号和强制类型转换。输入输出函数 `printf` 和 `scanf` 用于格式化输入和输出,支持多种占位符和格式控制。通过示例代码详细解释了这些操作符和函数的使用方法。
33 10
|
13天前
|
存储 算法 程序员
C语言:库函数
C语言的库函数是预定义的函数,用于执行常见的编程任务,如输入输出、字符串处理、数学运算等。使用库函数可以简化编程工作,提高开发效率。C标准库提供了丰富的函数,满足各种需求。