C语言求解最小公倍数(三种思路)
思路一.利用最大公倍数(低级)
输入两个数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语言求解最小公倍数(三种思路)相关推荐
- c语言编程非线性方程求解,c语言计算机编程三种方法求解非线性方程
c语言计算机编程三种方法求解非线性方程 本 科 专 业 学 年 论 文题 目:非线性方程求解比较姓 名: 何 娟 专 业: 计算机科学技术系 班 级: 08 级本科(2)班 指 导 老 师: 刘 晓 ...
- c语言编程非线性方程求解,c语言计算机编程三种方法求解非线性方程.doc
c语言计算机编程三种方法求解非线性方程.doc 本 科 专 业 学 年 论 文题 目非线性方程求解比较姓 名 何 娟 专 业 计算机科学技术系 班 级 08 级本科(2)班 指 导 老 师 刘 晓 娜 ...
- c语言二叉树的遍历菜单系统,C语言二叉树的三种遍历方式的实现及原理
C语言二叉树的三种遍历方式的实现及原理 发布时间:2020-10-03 19:43:57 来源:脚本之家 阅读:63 作者:看雪. 二叉树遍历分为三种:前序.中序.后序,其中序遍历最为重要.为啥叫这个 ...
- C语言程序设计有哪几种结构,第章c语言程序设计的三种基本结构.ppt
第章c语言程序设计的三种基本结构 北京科技大学 计算机系 第2章 C语言程序设计 的三种基本结构 2.1 顺序结构程序设计 2.1.1 C语句 2.1.2 字符数据的输入与输出 2.1.3 格式输入与 ...
- Python语言学习:三种随机函数random.seed()、numpy.random.seed()、set_random_seed()及random_normal的简介、使用方法(固定种子)详细攻略
Python语言学习:三种随机函数random.seed().numpy.random.seed().set_random_seed()及random_normal的简介.使用方法(固定种子)之详细攻 ...
- Scala 语言输出的三种方式
Scala 语言输出的三种方式 字符串通过+号连接(类似 java). printf 用法 (类似 C 语言)字符串通过 % 传值. 字符串通过$引用(类似 PHP).
- 求两个链表的第一个公共结点各种情况及三种思路分析
转自:http://blog.csdn.net/ssopp24/article/details/72377184 1.寻找两个链表的第一个公共结//这道题可以有很多种思路, 我们按照, 有坏到好的顺序 ...
- python选择语句是什么语句_Python语言中的三种选择语句
本文将详细介绍Python语言中的三种选择语句:if语句,if/else语句和if/elif/else语句.对于每种语句,我们都提供了相应的流程图.与此同时,我们给出许多简单的示例程序,以帮助读者加深 ...
- c 语言程序的三种基本结构,C 语言程序的三种基本结构是____ A、顺序结构,选择结构,循环结构 B、递归结构,循环结构,转移结构...
C 语言程序的三种基本结构是____ A.顺序结构,选择结构,循环结构 B.递归结构,循环结构,转移结构 更多相关问题 [填空题]移动电商,全称 ,是以 为载体的电商模式. [单选题]有关离子选择性电 ...
最新文章
- JAVA-初步认识-第十一章-object类-equals方法覆盖
- java boolean io流_java基础入门-day22-IO流
- 干货 | 携程异地多活-MySQL实时双向(多向)复制实践
- Python中classmethod与staticmethod区别
- [云炬创业基础笔记]第二章创业者测试4
- 分布式技术追踪 2017年第四期
- Windows服务程序的调试
- SpringSecurity认证流程分析
- php empty ,is_null ,isSet 对比
- 2000年考研英语阅读理解文章一
- C#代码规范化(代码风格化)的几个函数
- Android开发添加QQ群 跳到QQ聊天页面
- 王思聪数字时钟android安卓/ios苹果下载
- android 程序a启动程序b的权限,android app微信分享
- 河北省选调生上传报名表显示服务器错误,关于服务器错误
- 重复图案排版_8个免费图案发生器,用于创建重复的图案背景
- 【C语言-库函数模拟】字符串库函数模拟
- CalibrateIO
- HTML前端静态网页制作
- javaScript盲点梳理 -- 大白话