C语言:求输入的两个数的最小公倍数

news2024/10/6 10:29:38

题目:

输入的两个数最小公倍数

                    

 =========================================================================

                       

思路一:普通方法

(思路简单,效率较低)

总体思路:

(一).

输入两个数:a b

使用 三目表达式较大值 取出

                 

(二).

使用 while循环

循环判断 较大值 能否同时整除两个数

能整除,说明 较大值是两值的最大公倍数跳出循环

不能整除较大值++,直到能同时整除两个值跳出循环

进行打印

                


                 

第一步:

(1). 输入两个数:a b

                

(2). 使用 三目表达式较大值取出

                     

实现代码:

#include <stdio.h>
int main()
{
	//输入两个数:
	long long a = 0;
	long long b = 0;
	//输入:
	scanf("%lld %lld", &a, &b);

	//使用 三目表达式 ,把较大值取出
	//假设 a 和 b 的较大值是最小公倍数
	long long m = a > b ? a : b;
	//较大值赋给 m


	return 0;
}

实现图片:

                 


                 

第二步:

(1). 使用 while循环,循环判断 较大值 能否同时整除两个数

               

(2). 在 while循环中,使用 if条件判断 判断 较大值能否同时整除两个数

             

能整除,说明较大值就是两值的最大公倍数跳出循环

            

不能整除,则 较大值++,直到能同时整除两个值跳出循环

            

进行打印

                     

实现代码:

#include <stdio.h>
int main()
{
	//输入两个数:
	long long a = 0;
	long long b = 0;
	//输入:
	scanf("%lld %lld", &a, &b);

	//使用 三目表达式 ,把较大值取出
	//假设 a 和 b 的较大值是最小公倍数
	long long m = a > b ? a : b;
	//较大值赋给 m

	//使用 while循环,
	//循环判断 较大值 能否同时整除两个数
	while (1) //死循环,等满足用break跳出循环
	{
		//使用 if条件判断 :
		if (m % a == 0 && m % b == 0)
		//看 较大值 能否同时整除两个数
		{
			//能整除,跳出循环
			break;
		}
		//不能整除,较大值++,直到能整除两个值
		m++;
	}

	//打印:
	printf("%lld\n", m);

	return 0;
}

实现图片:

                    

思路一:最终代码和实现效果

最终代码:

#include <stdio.h>
int main()
{
	//输入两个数:
	long long a = 0;
	long long b = 0;
	//输入:
	scanf("%lld %lld", &a, &b);

	//使用 三目表达式 ,把较大值取出
	//假设 a 和 b 的较大值是最小公倍数
	long long m = a > b ? a : b;
	//较大值赋给 m

	//使用 while循环,
	//循环判断 较大值 能否同时整除两个数
	while (1) //死循环,等满足用break跳出循环
	{
		//使用 if条件判断 :
		if (m % a == 0 && m % b == 0)
		//看 较大值 能否同时整除两个数
		{
			//能整除,跳出循环
			break;
		}
		//不能整除,较大值++,直到能整除两个值
		m++;
	}

	//打印:
	printf("%lld\n", m);

	return 0;
}

实现效果:

                    

 =========================================================================

                       

思路二:a * i % b

(使用方法,效率更高)

总体思路:

(一). 

输入两个数:a b

         

(二).

a 和 b 的最小公倍数

        

假设两值最小公倍数 k ,有 i = 1

让        a * i % b        看能不能整除余数等于0

能整除最小公倍数k = a * i

不能整除,则 i++,

直到能整除为止,此时最小公倍数 k = a * i

                


              

第一步:

输入两个数:a b

                     

实现代码:

#include <stdio.h>
int main()
{
	//输入两个数:
	long long a = 0;
	long long b = 0;
	//输入:
	scanf("%lld %lld", &a, &b);




	return 0;
}

实现图片:

                 


                 

第二步:

使用 while循环判断 a * i % b 能否整除

             

能整除最小公倍数k = a * i ,进行打印

                 

不能整除,则 i++

             

直到能整除为止,此时最小公倍数 k = a * i

                     

实现代码:

#include <stdio.h>
int main()
{
	//输入两个数:
	long long a = 0;
	long long b = 0;
	//输入:
	scanf("%lld %lld", &a, &b);

	//求最小公倍数:
	int i = 1; //a的倍数
	while (a * i % b != 0)//这里 !=0 可以省略
	// a * i 不能整除 b,则改变 i,即a的倍数,
	//直到可以整除退出循环
	{
		i++;//不能整除则 i++
	}

	//直到能整除为止,此时最小公倍数 k = a * i
	printf("%lld\n", a * i);

	return 0;
}

实现图片:

                    

思路二:最终代码和实现效果

最终代码:

#include <stdio.h>
int main()
{
	//输入两个数:
	long long a = 0;
	long long b = 0;
	//输入:
	scanf("%lld %lld", &a, &b);

	//求最小公倍数:
	int i = 1; //a的倍数
	while (a * i % b != 0)//这里 !=0 可以省略
	// a * i 不能整除 b,则改变 i,即a的倍数,
	//直到可以整除退出循环
	{
		i++;//不能整除则 i++
	}

	//直到能整除为止,此时最小公倍数 k = a * i
	printf("%lld\n", a * i);

	return 0;
}

实现效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/660905.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[元带你学: eMMC协议详解 17] eMMC 安全方案 之 RPMB(Replay Protected Memory Block 重放保护内存块)

依JEDEC eMMC 5.1及经验辛苦整理&#xff0c;付费内容&#xff0c;禁止转载。 所在专栏 《元带你学: eMMC协议详解》 内容摘要 全文 6300 字&#xff0c; 主要内容有 目录 1 概念 2 容量大小 3 重放保护的原理 4 不同访问类型流程 4.1. 写认证密钥&#xff08;write Au…

coder oss 真正私有化部署的云端开发环境,nas也可以装

先看效果&#xff1a; 主界面&#xff0c;显示了你有那些工作空间 某个工作空间&#xff0c;我这里集成了web版vscode&#xff0c;也可以使用本地的vscode和其他开发IDE 有独立的终端和集成webide 以后就可以一个ipad都可以写代码了&#xff1b; 下面是平台搭建过程&#xff0…

C语言入门基础知识(万字笔记)

一、前言部分 本篇文章&#xff0c;将会主要介绍c语言的基本数据类型、基本运算符、语句&#xff0c;三大结构、数组、指针、宏定义等内容 二、具体部分 1、基本数据类型 1、基本数据类型 在C语言中&#xff0c;承载一系列信息的数字或中字符都属于数据类型&#xff0c;计算…

产品设计.B端产品vsC端产品

一、用户群体 01、B端&#xff1a;一般是多角色群体、多维度&#xff0c;一般是3个维度&#xff0c;决策者&#xff08;老板&#xff09;、管理者&#xff08;财务、业务部门负责人&#xff09;和执行者&#xff08;使用的用户&#xff09;。 02、C端&#xff1a;群体相对单一…

K8s 中 port, targetPort, NodePort的区别

看1个例子&#xff1a; 我们用下面命令去创建1个pod2&#xff0c; 里面运行的是1个nginx kubectl create deployment pod2 --imagenginx当这个POD被创建后&#xff0c; 其实并不能被外部访问&#xff0c; 因为端口映射并没有完成. 我们用下面这个命令去创建1个svc &#xff…

msvcp140.dll是什么?怎么解决电脑提示msvcp140.dll丢失的问题?(分享解决方法)

msvcp140.dll是动态链接库文件&#xff0c;是一种不可执行的二进制程序文件&#xff0c;允许程序共享执行特殊任务所需要的代码和其他资源。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。 很多小伙伴在使用电脑软件的时候&#xff0c;有一些问题会搞不明白…

C语言之枚举联合

一、枚举 枚举顾名思义就是&#xff1a;列举 。 即把可能的取值一一列举出来 &#xff08;一&#xff09;枚举类型的定义 这里我们直接上代码&#xff1a; //枚举类型 #include <stdio.h>enum Sex//性别 {//枚举的可能取值-常量MALE 2,FEMALE 4,SECRET 8//以上为给…

LAMP架构及搭建LAMP+Discuz论坛

LAMP架构及搭建LAMPDiscuz论坛的流程 1、LAMP架构概述2、LAMP各组件的作用3、LAMP的安装顺序4、LAMP的数据流向5、编译安装Apache5.1 关闭防火墙和slinux&#xff0c;将安装Apache所需软件包传到/opt目录下并解压5.2 安装环境依赖包5.3 选择Apache软件模块5.4 编译和安装5.5 优…

使用 Sa-Token 实现 [记住我] 模式登录、七天免登录

一、需求分析 如图所示&#xff0c;一般网站的登录界面都会有一个 [记住我] 按钮&#xff0c;当你勾选它登录后&#xff0c;即使你关闭浏览器再次打开网站&#xff0c;也依然会处于登录状态&#xff0c;无须重复验证密码&#xff1a; 本文将详细介绍在 Sa-Token中&#xff0c;…

移动机器人底盘-四轮差速模型(四轮独立)

移动机器人底盘-四轮差速模型 文章目录 移动机器人底盘-四轮差速模型1. 四轮差速模型原理2. 工程实践2.1 Python实现2.2 C实现 1. 四轮差速模型原理 四轮差速模型底盘实例如下图所示。对于底盘的前轮和后轮来说&#xff0c;其速度是同步的&#xff0c;那么在理想条件下&#x…

PHY芯片的使用(一)之基本概念讲解(MII相关)2

今天想和大家交流一下MAC和PHY之间的接口MII。 MII(Media Independent Interface )是介质无关接口。MII接口定义了在MAC层和物理层之间传送数据和控制状态等信息的接口&#xff0c;它是10M和100M兼容的接口&#xff0c;经过扩展后还可以用于1000M的MAC层与物理层的接口&#x…

【libdatachannel】Transport的设计实现

作为ice传输实现的基类 具有实际的作用。 D:\XTRANS\thunderbolt\ayame\ZHB_LIB_DATACHANNEL\src\impl\transport.cpp 最重要的是封装了对impl的调用 Transport 比较牛,抽象了传输的基础能力 发送(调用ice接口发送) send(message_ptr message);接收(通过ice收到后使用回调方…

msvcp140.dll下载,无法启动此程序,因为计算机中丢失msvcp140.dll的解决方法

msvcp140.dll是动态链接库文件&#xff0c;是一种不可执行的二进制程序文件&#xff0c;允许程序共享执行特殊任务所需要的代码和其他资源。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。 很多小伙伴在使用电脑软件的时候&#xff0c;有一些问题会搞不明白…

layui框架学习(27:弹出层模块_其它用法)

除了前几篇文章介绍的弹出框类型外&#xff0c;layui的layer弹出层模块还支持相册框和tab框&#xff0c;所谓相册框即点击图片或按钮后会出现一个类似相册的页面单独浏览、切换图片&#xff0c;而tab框是指弹出框的显示形式类似于Winform中的TabControl控件&#xff0c;能以选项…

如何把一个 Git 仓库的分支加入另一个无关的 Git 仓库

文章目录 笔者需要将两个无关的 Git 仓库合并&#xff0c;也就是把一个 Git 仓库的分支加入另一个无关的 Git 仓库。笔者琢磨了一下之后就实现了。方法如下。 笔者的运行环境&#xff1a; git version 2.37.0.windows.1 TortoiseGit 2.11.0.0 IntelliJ IDEA 2023.1.1 (Ultima…

vue2_markdown的内容目录生成

文章目录 ⭐前言⭐引入vue-markdown&#x1f496; 全局配置&#x1f496; 渲染选项&#x1f496; 取出markdown的标题层级 ⭐结束 ⭐前言 大家好&#xff01;我是yma16&#xff0c;本文分享在vue2的markdown文本内容渲染和目录生成 背景&#xff1a; 优化个人博客功能&#xf…

Spring MVC简介附入门案例

目录 一、SpringMVC简介 1.1 MVC模型 1.2 SpringMVC 二、SpringMVC入门案例 2.1 创建项目 2.2 引入依赖和tomcat插件 2.3 修改web.xml文件 2.4 新建springmvc.xml文件 2.5 编写控制器 2.6 配置运行方式 2.7 运行测试 三、SpringMVC执行流程 3.1 SpringMVC的组件…

【FreeRTOS】FreeRTOS动态创建任务与删除

0. 实验准备 正点原子 STM32407ZG 探索者开发板 FreeRTOS 例程模板&#xff08;可以在这一篇文章找到&#xff1a;STM32F407 移植 FreeRTOS&#xff09; 1. 动态创建任务函数 API 1.1 函数简介 动态创建任务需要使用到BaseType_t xTaskCreate函数&#xff0c;我们可以在 Fr…

unittest教程__TestSuite测试套件(2)

在前面一章中演示了unittest如何执行一个简单的测试&#xff0c;但有两个问题&#xff1a; 我们知道测试用例的执行顺序是根据测试用例名称顺序执行的&#xff0c;在不改变用例名称的情况下&#xff0c;我们怎么来控制用例执行的顺序呢&#xff1f;一个测试文件&#xff0c;我…

事务底层与高可用原理

一、redo日志 在事务的实现机制上&#xff0c;MySQL采用的是WAL&#xff08;Write-ahead logging&#xff0c;预写式日志&#xff09;机制来实现的。 就是所有的修改都先被写入到日志中&#xff0c;然后再被应用到系统中。通常包含redo和undo两部分信息。 redo log称为重做日…