当前位置: 首页 > news >正文

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

 

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

 

http://www.lryc.cn/news/272849.html

相关文章:

  • 嵌入式系统(二)单片机基础 | 单片机特点 内部结构 最小系统 电源 晶振 复位
  • NLP基础——中文分词
  • 阿里云服务器Alibaba Cloud Linux 3镜像版本大全说明
  • WebGIS开发的常见框架及优缺点
  • ansible 配置jspgou商城上线(MySQL版)
  • 算法导论复习——CHP22 分支限界法
  • 鸿蒙系列--装饰器
  • FairGuard游戏加固产品常见问题解答
  • Redis(二)数据类型
  • 2023年广东省网络安全B模块(笔记详解)
  • 每日力扣算法题(简单篇)
  • Flume基础知识(三):Flume 实战监控端口数据官方案例
  • 通过IP地址如何进行网络安全防护
  • Vue.js 中使用 Watch 选项实现动态问题判断与展示答案
  • python笔记-自用
  • 安克创新与火山引擎数智平台开展合作:数据分析降门槛 数据协同破边界
  • LDD学习笔记 -- Linux内核模块
  • springboot整合springbatch批处理
  • 答案解析——C语言—第2次作业:转义字符
  • HTML5-新增表单input属性
  • css-、串联选择器和后代选择器的用法
  • nifi详细介绍--一款开箱即用、功能强大可靠,可用于处理和分发数据的大数据组件
  • K8S Dashboard登录Token过期问题处理
  • x-cmd pkg | trafilatura - 网络爬虫和搜索引擎优化工具
  • 前端知识点(面试可看) —— JS
  • CSRF总结
  • 降维算法的简单介绍
  • k8s的声明式资源管理
  • Git | tag相关命令
  • 【Java期末】学生成绩管理系统