c语言:求最小公倍数|练习题

一、题目
输入两个数,求两数的最小公倍数。
如图:

9063904783984f67975c9d98a62b68d4.jpg

 

二、思路分析
1、先知道两个数里的最小值(比如:9和6,取6)
2、用2到6,5个数,同时除以9和6,得最小公约数:3
3、用9除3=3,6除3=2。得最小公倍数18(3*3*2=18)
4、如果两数没有最小公约数,则把原来的两个数相乘
比如:5和6,最小公倍数是5*6=30

三、代码截图【带注释】

34aa4454551b42a2b1995e54015ada5b.jpg

 

四、源代码【带注释】

#include <stdio.h>

//思路:
//1、先知道两个数里的最小值(比如:9和6,取6)
//2、用2到6,5个数,同时除以9和6,得最小公约数:3
//3、用9除3=3,6除3=2。得最小公倍数18(3*3*2=18)
//4、如果两数没有最小公约数,则把原来的两个数相乘
//比如:5和6,最小公倍数是5*6=30

int sct(int,int);//声明函数
int main()
{
    int x,y;
    printf("请输入两个大于1的数字:\n");
    
    //检测,如果x和y其中一个小于2,则重新输入
cc:
    scanf("%d",&x);
    scanf("%d",&y);
    if((x<2)||(y<2))
    {
        printf("输入有误,请重新输入。");
        goto cc;
    }
    printf("%d",sct(x,y));//引用函数
}

//求最大公倍数函数
int sct(int x, int y)
{
    int a,b,temp=1;
    
    //用a记录x与y中的最小值
    if(x>y)
    {
        a=y;
        b=x;
    }
    else
    {
        a=x;
        b=y;
    }
    
    //从2开始,不断加1,去除x和y
    //如果能整除,把i相乘,把相乘的值赋给temp
    //temp则为最小公约数
    for(int i=2; i<=a; i++)
    {
        if((x%i==0)&&(y%i==0))
        {
            temp=temp*i;
        }
    }
    
    //如果两数没有公约数,则把两数相乘
    //否则:(以9和6为例)
    //用9除3=3,6除3=2。得最小公倍数3*3*2=18
    if(temp==1)
    {
        temp=x*y;
    }
    else
    {
        temp=temp*(x/temp)*(y/temp);
    }
    return temp;
}

五、运行结果

f6abc55bbeb14115b29d0f1bcc6eba4a.jpg

 

关注我,每天分享编程知识

 

相关推荐

  1. C语言 两个整数的公约数公倍数

    2023-12-31 15:42:03       22 阅读
  2. 公倍数

    2023-12-31 15:42:03       56 阅读
  3. 公倍数

    2023-12-31 15:42:03       33 阅读
  4. 【华为OD机试C++】公倍数

    2023-12-31 15:42:03       39 阅读
  5. E12.【C语言练习两个数的公约数

    2023-12-31 15:42:03       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-31 15:42:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-31 15:42:03       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-31 15:42:03       82 阅读
  4. Python语言-面向对象

    2023-12-31 15:42:03       91 阅读

热门阅读

  1. 智慧园区物联综合管理平台之基础功能简述

    2023-12-31 15:42:03       59 阅读
  2. uniapp将异步api变成同步

    2023-12-31 15:42:03       56 阅读
  3. uniapp获取用户头像

    2023-12-31 15:42:03       84 阅读
  4. 【Qt-Qss-Style】

    2023-12-31 15:42:03       55 阅读
  5. 设计模式之装饰器模式

    2023-12-31 15:42:03       60 阅读
  6. IOC推导和本质

    2023-12-31 15:42:03       55 阅读
  7. 【leetcode】栈与队列总结

    2023-12-31 15:42:03       66 阅读
  8. 过滤、排序、分页、异常处理

    2023-12-31 15:42:03       51 阅读
  9. Python调用C++/C

    2023-12-31 15:42:03       58 阅读
  10. SpringBoot入门到精通-Spring Boot Jasypt Encrypt 演示

    2023-12-31 15:42:03       62 阅读
  11. 二叉树-遍历-重写

    2023-12-31 15:42:03       54 阅读
  12. 数据结构-怀化学院期末题(58)

    2023-12-31 15:42:03       61 阅读
  13. 多次运用集成函数处理蛋白质特征数据

    2023-12-31 15:42:03       59 阅读
  14. git教程——日常工作git使用流程

    2023-12-31 15:42:03       66 阅读