第一题:
思路:这题用我之前那个方法过不去,超时,所以这里介绍一种高效的方法,就是辗转相除法,以及一种简单求最大公倍数的方法。这里我也不讲原理,具体大家可以去搜一下更详细,我只说用法,求出gcd后,用原来两个数的乘积/gcd就是最大公倍数。
第二题:
前言:说实话这道题我开始写的时候,也是比较懵逼,为什么?不是因为不会写没有思路,主要还是在写前面的题目的时候影响了心态,变得浮躁,平时的做题习惯综合导致我不能静下心来分析,其实很多题目看似复杂,但如果能静下心来分析,其实还是有迹可循的。所以优化平时的做题习惯和做题的心态也是尤为关键,这也是我以后要培养的品质。
接下来看题:
首先要输出不超过n的最大的k个素数,我们就先从n-1开始遍历,然后看输出的格式,肯定要定义一个数组arr来存放这些数字,但数目又是有限的,所以每得到一个素数,k就要减一,当k为0的时候跳出循环,这样思路打开了,然后最后输出的时候注意一下格式,最后一个数字不用输出+,就OK了。
第三题:
思路:用指针实现冒泡排序和用数组是一样的,只不过说在判断的时候要让地址自增;