这里是每日刷题,每一个不刷题的日子,都是对生命的辜负,今天也是为未来奋斗的一天呢!
文章目录
- 1. 10个数升序排序
- 2.最大公因数与最小公倍数
- 3.找素数
- 总结
1. 10个数升序排序
使用的方法是基础的冒泡排序法,这个方法有固定的公式,适用于一些简单的排序题。套用两层循环,首先,确定循环的次数。外层是比较的轮数,如果是10个数比较,比较次数就为9轮。内层是一轮比较的次数,每一轮为9-i-1次,第一轮就是9-0-1=8次,第二轮为9-1-1=7次,以此类推。如何比较呢,如下代码,借用中间变量temp,如果前面的数小与后面的数,那就得交换它们的位置。交换数组位置的代码固定,大家记下来练熟了就好啦。
2.最大公因数与最小公倍数
方法为,x对y求余数,之后把y的值赋值给x,将余数赋值给y,直至余数为0,所得的x就是最大公因数。最小公倍数为(x与y的积/最大公倍数),所以,求出来最大公因数是解题的关键。
3.找素数
素数,除1和它本身,其余所有数都不能整除的数。所以,里层的循环需判断2到i-1之间的数是否能被整除即可,若有被整除的数,就用continue跳出本次循环。本题用了sqrt()函数求平方根可以减少循环的次数,为什么可以在本题使用这个函数呢?大家思考一下,比如100,他的平方根是10,优化代码。需要注意的是,100-200是素数的数,直至循环结束自动跳出,到最后怎么打印呢?如下代码,在本题中,可以用一个变量作为标志,定义flag为1,若它能被整除,改其值为0,只有素数没通过这个if语句,所以只有素数再循环结束时flag值仍为1.
总结
今天的题目就到这里啦,我们明天继续!一起升级呀!