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.hqwc.cn/news/305402.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python漂浮爱心完整代码

文章目录 环境需求完整代码详细分析环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.blog.csdn.net/arti…

k8s-cni网络 10

Flannel vxlan模式跨主机通信原理 在同一个节点上的pod 流量通过cni网桥可以直接进行转发&#xff1b; 在需要跨主机访问时&#xff0c;数据包通过flannel(隧道) 知道另一边的mac地址&#xff0c;就可以拿到另一边的ip地址&#xff0c;然后构建常规的以太网数据包&#xff0c;…

ClickHouse基础知识(二):ClickHouse 安装教程

1. 准备工作 1.1 确定防火墙处于关闭状态 1.2 CentOS 取消打开文件数限制 &#xff08;1&#xff09;在 hadoop101 的 /etc/security/limits.conf 文件的末尾加入以下内容 sudo vim /etc/security/limits.conf&#xff08;2&#xff09;在 hadoop101 的/etc/security/limits.…

为什么IDEA建议去掉StringBuilder,而要使用“+”拼接字符串

在字符串拼接时应该都见过下面这种提示&#xff1a; 大家普遍认知中&#xff0c;字符串拼接要用StringBuilder&#xff0c;那为什么idea会建议你是用呢&#xff0c;那到底StringBuilder和有什么具体区别呢&#xff0c;我们一起来探究一下。 普通拼接 普通的几个字符串拼接成一…

【头歌实训】kafka-入门篇

文章目录 第1关&#xff1a;kafka - 初体验任务描述相关知识Kafka 简述Kafka 应用场景Kafka 架构组件kafka 常用命令 编程要求测试说明答案代码 第2关&#xff1a;生产者 &#xff08;Producer &#xff09; - 简单模式任务描述相关知识Producer 简单模式Producer 的开发步骤Ka…

主资源公平调度策略

0. 前言 最大最小分配算法:这个比较好理解,就是最大化目前分配到最小资源量的用户或者任务的资源量。举个例子ABC三个任务需要的资源分别为2,5,8个单位,现在有12个单位的资源,一开始时候每个任务平均分配4个单位,这个时候A任务多出2个单位,然后再将这2个单位平均分配为B…

【论文阅读】Realtime multi-person 2d pose estimation using part affinity fields

OpenPose&#xff1a;使用PAF的实时多人2D姿势估计。 code&#xff1a;GitHub - ZheC/Realtime_Multi-Person_Pose_Estimation: Code repo for realtime multi-person pose estimation in CVPR17 (Oral) paper&#xff1a;[1611.08050] Realtime Multi-Person 2D Pose Estima…

前端工程化实战 - 日程管理

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 本…

信息安全概论快速复习(期末急救)

文章目录 1、DES中的S-盒输入输出问题 &#xff08;不需要记住S-盒&#xff09;2、Kerberos认证系统3、简答题&#xff08;三题每题8分&#xff09;&#xff1a;课后习题第一章、第三章、第四章第一章&#xff1a;重点关注安全模型内容&#xff0c;有几种&#xff0c;有几个分级…

CSP CCF 201412-2 Z字形扫描 C++满分题解

解题思路&#xff1a; 1.将矩阵分成左上和右下两个部分来看 2.每一个部分都是按着斜线输出 3.同一根斜线上坐标的xy相同&#xff0c;不同线上坐标的xy为公差为1的等差数列 4.左边线上坐标的xy依次变大&#xff0c;右边依次变小 #include<iostream> using namespace s…

嵌入式Linux:提升VMware虚拟机运行速度的方法

使用虚拟机运行Linux操作系统通常会比在物理机上直接安装系统的运行效率更低&#xff0c;本篇博文将介绍如何优化虚拟机的设置&#xff0c;进而提升虚拟机性能体验。 第1步&#xff1a;选择VMware菜单&#xff1a;编辑–>首选项–>更新&#xff0c;将”启动时检查产品更新…

初步认识API安全

一、认识API 1. 什么是API API(应用程序接口)&#xff1a;是一种软件中介&#xff0c;它允许两个不相关的应用程序相互通信。它就像一座桥梁&#xff0c;从一个程序接收请求或消息&#xff0c;然后将其传递给另一个程序&#xff0c;翻译消息并根据 API 的程序设计执行协议。A…