IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> A.最小公倍数 -> 正文阅读

[数据结构与算法]A.最小公倍数

写在正文前的几句话

????????来由: 鄙人在寒假中闲来无事, 又因自己对计算机编程颇有兴趣, 于是特地向我学习计算机的同学要了几个题做, 借此来打发时间, 不成想这几道题颇有意思, 于是在此编辑此文与诸君分享. 然我才疏学浅, 恐于文章中有些许差错, 望诸君海涵.

????????声明:由于朋友给了我一系列题目, 所以此博客应为一个专辑, 然奈何我菜鸡一枚, 又有俗事缠身, 很大概率不能按时更新. 不过, 这并不影响, 因为这些题目可问问度娘, 而且我对它们并没有多高的期待, 所以......

????????格式:?这一系列除本文外, 其他文章应该均由三部分组成, 即, 问题描述( 包含输入输出样例及其他内容 ), 思路分析, 样例代码.

正文

题目描述

给定两个正整数, 计算这两个数的最小公倍数.

输入

输入包含多组测试数据, 每组只有一行, 包括两个不大于1000的正整数.

输出

对于每个测试用例, 给出这两个数的最小公倍数, 每个实例输出一行.

?思路分析

? ? ? ? 这道题的思路比较明显了, 为方便下文叙述,不妨设每次输入的正整数分别是 a, b. 首先, 利用欧几里得算法计算出 a, b 的最大公约数( 设最大公约数为c ), 之后再计算 a*b/c 即可.

????????不过, 这里有一处小bug, 即, a*b 可能超出int的数据范围, 当然, 可以使用 long long int 来解决这个问题. 其实, 此小bug还可用一个小技巧解决, 即将表达式 "a*b/c" 改为 "a/c*b" 或 "b/c*a" , 此处利用的乘法的交换律, 这样就不会存在超出数据范围的问题了.

? ? ? ? 当然, 解决上述几个问题之后, 我们再来看一下下一个坑, 即: 如何实现多组输入. 这个问题对于许多新手可能比较困难, 因为题目一开始并未告诉我们要输入多少数据. 但是,问问度娘也是可以解决的, 然后就有了如下的解决方案.

while(cin>>a>>b)
{
    ...
}

? ? ? ? ?在解决完上述所有问题之后, 我们就可以打一个比较完整的程序了.

样例代码

#include<iostream>
using namespace std;
int main()
{
    int a,b;  //输入的两个数.
    while(cin>>a>>b)
    {
    	int a1=a,b1=b;  //保存a, b的值.
        int r=a1%b1;
        while(r>0)  //欧几里得算法.
        {
            a1=b1;
            b1=r;
            r=a1%b1;
        }
        cout<<a/b1*b<<endl;  //计算到最后, 最大公约数一定就是b1的值.
    }
    return 0;
} 

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-01-14 02:14:08  更:2022-01-14 02:14:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:44:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码