思路一.利用最大公倍数(低级)

输入两个数a,b后,若两个数直接相乘,可能是这两个数的最大公倍数,如5x7;也可能不是,如6x9,很容易就能看出6x9=54和6x9的最小公倍数18是除3的关系,而3就是6和9的最大公倍数。

思路:

1.找最大公约数

利用循环,循环变量i作为除数,最大就让循环变量最大开始自减,i从较小的数开始自减。

2.输出并跳出循环

输出:两者相乘除最大公约数

#include <stdio.h>
int main()
{int a = 0;int b = 0;scanf("%d %d", &a, &b);int i = 0;for (i = a<b?a:b; i >0 ; i--){if (a % i == 0 && b % i == 0){printf("%d\n",a*b/i);   break;}}return 0
}

思路二.自增

首先输入的两个数a,b,它们的公倍数一定大于等于较大的数,那么我们是不利用循环,让循环变量i从较大的值开始增加,每次循环利用循环变量i是否能整除较小的那个数,就可以得到最小公倍数了。

#include <stdio.h>
int main()
{int a = 0;int b = 0;scanf("%d %d", &a, &b);int min = a > b ? a : b;//min为公倍数的可能最小取值while (1){if (min % a == 0 && min % b == 0){printf("%d", min);break;}}return 0;

思路三.乘法与自增结合,减少思路二中循环的次数(最优)

两个数的最小公倍数一定是这两个数每一个的倍数,那么我们结合思路二,只需要拿出二者之一,让它成倍的增长,然后判断每增长一倍后是否整除另一个数,这样既可以减少循环的次数,还不用判断两个数的大小,是不是比思路二简单很多。

#include <stdio.h>
int main()
{int a = 0;int b = 0;scanf("%d %d", &a, &b);int i = 0;for (i = 1;; i++){if (a * i % b == 0){printf("%d\n", a * i);break;}}return 0;
}

欢迎各路佬提供新思路,求三连~~

C语言求解最小公倍数(三种思路)相关推荐

  1. c语言编程非线性方程求解,c语言计算机编程三种方法求解非线性方程

    c语言计算机编程三种方法求解非线性方程 本 科 专 业 学 年 论 文题 目:非线性方程求解比较姓 名: 何 娟 专 业: 计算机科学技术系 班 级: 08 级本科(2)班 指 导 老 师: 刘 晓 ...

  2. c语言编程非线性方程求解,c语言计算机编程三种方法求解非线性方程.doc

    c语言计算机编程三种方法求解非线性方程.doc 本 科 专 业 学 年 论 文题 目非线性方程求解比较姓 名 何 娟 专 业 计算机科学技术系 班 级 08 级本科(2)班 指 导 老 师 刘 晓 娜 ...

  3. c语言二叉树的遍历菜单系统,C语言二叉树的三种遍历方式的实现及原理

    C语言二叉树的三种遍历方式的实现及原理 发布时间:2020-10-03 19:43:57 来源:脚本之家 阅读:63 作者:看雪. 二叉树遍历分为三种:前序.中序.后序,其中序遍历最为重要.为啥叫这个 ...

  4. C语言程序设计有哪几种结构,第章c语言程序设计的三种基本结构.ppt

    第章c语言程序设计的三种基本结构 北京科技大学 计算机系 第2章 C语言程序设计 的三种基本结构 2.1 顺序结构程序设计 2.1.1 C语句 2.1.2 字符数据的输入与输出 2.1.3 格式输入与 ...

  5. Python语言学习:三种随机函数random.seed()、numpy.random.seed()、set_random_seed()及random_normal的简介、使用方法(固定种子)详细攻略

    Python语言学习:三种随机函数random.seed().numpy.random.seed().set_random_seed()及random_normal的简介.使用方法(固定种子)之详细攻 ...

  6. Scala 语言输出的三种方式

    Scala 语言输出的三种方式 字符串通过+号连接(类似 java). printf 用法 (类似 C 语言)字符串通过 % 传值. 字符串通过$引用(类似 PHP).

  7. 求两个链表的第一个公共结点各种情况及三种思路分析

    转自:http://blog.csdn.net/ssopp24/article/details/72377184 1.寻找两个链表的第一个公共结//这道题可以有很多种思路, 我们按照, 有坏到好的顺序 ...

  8. python选择语句是什么语句_Python语言中的三种选择语句

    本文将详细介绍Python语言中的三种选择语句:if语句,if/else语句和if/elif/else语句.对于每种语句,我们都提供了相应的流程图.与此同时,我们给出许多简单的示例程序,以帮助读者加深 ...

  9. c 语言程序的三种基本结构,C 语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构...

    C 语言程序的三种基本结构是____ A.顺序结构,选择结构,循环结构 B.递归结构,循环结构,转移结构 更多相关问题 [填空题]移动电商,全称 ,是以 为载体的电商模式. [单选题]有关离子选择性电 ...

最新文章

  1. JAVA-初步认识-第十一章-object类-equals方法覆盖
  2. java boolean io流_java基础入门-day22-IO流
  3. 干货 | 携程异地多活-MySQL实时双向(多向)复制实践
  4. Python中classmethod与staticmethod区别
  5. [云炬创业基础笔记]第二章创业者测试4
  6. 分布式技术追踪 2017年第四期
  7. Windows服务程序的调试
  8. SpringSecurity认证流程分析
  9. php empty ,is_null ,isSet 对比
  10. 2000年考研英语阅读理解文章一
  11. C#代码规范化(代码风格化)的几个函数
  12. Android开发添加QQ群 跳到QQ聊天页面
  13. 王思聪数字时钟android安卓/ios苹果下载
  14. android 程序a启动程序b的权限,android app微信分享
  15. 河北省选调生上传报名表显示服务器错误,关于服务器错误
  16. 重复图案排版_8个免费图案发生器,用于创建重复的图案背景
  17. 【C语言-库函数模拟】字符串库函数模拟
  18. CalibrateIO
  19. HTML前端静态网页制作
  20. javaScript盲点梳理 -- 大白话

热门文章

  1. 「大话设计模式 - 解读」0 设计原则
  2. C语言入门:利用冒泡排序算法实现将学生姓名按字典序排序
  3. office套件_Microsoft Office 2019 for Mac(office办公套件)
  4. 从前端小白到前端大佬
  5. SQL语句创建数据库
  6. 百分之九十的人玩《荒野行动》竟然都是为了匹配日本人?
  7. 利用计算机进行会计数据处理,计算机会计下如何进行会计核算与数据处理?
  8. vue父组件调用子组件方法,失效解决方案
  9. 迪文智慧会议室视频总线投屏方案
  10. quartz表达式cron_测试Quartz Cron表达式