输入两个正整数m和n,求最小公倍数,与最大公约数 (2).docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
标题中的“输入两个正整数m和n,求最小公倍数,与最大公约数”指的是在编程领域中,计算两个正整数的最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)的问题。这是一个基础的算法问题,常常出现在计算机科学入门课程中,尤其是与数学和算法相关的课程。 最大公约数是能够同时整除两个或多个整数的最大正整数。最常用的求解方法是辗转相除法(也称欧几里得算法)。算法描述如下: 1. 用较大的数除以较小的数,得到余数。 2. 如果余数不为0,则将较小的数作为新的被除数,余数作为新的除数,重复步骤1。 3. 当余数为0时,此时的除数即为最大公约数。 在提供的代码中,这个算法被用于求解最大公约数。例如,`m_cup`和`n_cup`分别代表被除数和除数,`res`是求余的结果。通过`while`循环不断更新`m_cup`和`n_cup`,直到余数为0,此时的`n_cup`就是最大公约数。 最小公倍数可以通过两个数的乘积除以它们的最大公约数来计算,即 `LCM = m * n / GCD`。在给定的代码中,这个公式被用来计算`m`和`n`的最小公倍数。 接下来,题目要求使用三种循环语句(`while`、`do-while`、`for`)实现1到100的累加和。这部分展示了这三种循环的不同用法,它们都得到了相同的累加结果。 提到了冒泡排序法对输入的10个整数进行排序。冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。在这个例子中,`paixu`函数实现了冒泡排序的过程。 此外,还有一部分是用数组求斐波那契数列的前20个数。斐波那契数列是这样一个序列:0、1、1、2、3、5、8、13、21、34……后面的每一个数都是前面两个数的和。代码中创建了一个数组`f`,并用`for`循环计算了斐波那契数列的前20个数。 第三周的作业进一步扩展了最大公约数和最小公倍数的概念,要求将这两个功能分别封装到单独的函数中。`greatest_c_divisor`函数使用辗转相除法求最大公约数,而`least_c_multiple`函数接受最大公约数作为参数来计算最小公倍数。 这些题目涵盖了基础的算法知识,包括数的整除性质、循环控制结构、排序算法以及递归序列的计算,这些都是计算机科学和编程学习的重要组成部分。
剩余13页未读,继续阅读
- 粉丝: 4064
- 资源: 1万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助