- 博客(4)
- 收藏
- 关注
原创 C语言求质数(素数)
i如果可以表示成两因数相乘的形式,那么其中一个因数一定满足小于等于根号下i,知道这点后,我们可以进一步缩小内层循环的判断范围。总结:四种方法大体思路都是相同的,即根据质数概念来进行判断,不过判断范围不断缩小,计算量不断减小,代码执行效率越来越高了。超过 i/2 的数肯定不是 i 的倍数,因此我们可以将内层循环的范围缩小一半,减少无意义的运算。该方法思想就是用该数字n除 2 到 n-1 的所有数字,如果余数都不为零,说明n为质数。方法一思路简单,但效率太低,有很多可以优化的地方。
2023-10-26 16:54:03
3466
原创 求最大公约数
第二步:除数和余数一定是除数大,两数中较大数作为被除数,相除,得到余数。第二步:判断减数和差值大小,两数中较大值作为被减数,两数相减,得差值。今天我来分享两种求最大公约数的方法,附带介绍求最小公倍数的方法。第一步:找出两数中较大数作为被除数,两数相除,得到余数。第一步:找出两数中较大值作为被减数,两数相减,得差值。第三步:当减数和差值相等时,等值即为最大公约数。希望能为大家提供一些思路和帮助,欢迎交流指正。第三步:余数为0时,除数即为两数最大公约数。作为初学者,大家可能都被这道题为难过。
2023-10-21 14:01:15
176
2
原创 C语言多组输入
while(a--)会先根据a的值判断是否进入循环,再执行a--操作,所以这里循环a次,输入a组数据;若我们写成while(--a)便会先执行a--操作,再根据a--的值判断是否进入循环,这样就只会循环a-1次,输入a-1组数据。刚刚我们说到,scanf()函数读取数据后会有返回值,这里即对scanf的返回值的二进制按位取反,再判断这个值为0还是非零。这是利用了while函数循环的原理,即进入循环前先判断表达式的值,如果非0,进入循环;这里就可以实现输入a组整数数据,a是自己定的,算作已知输入组数的情况。
2023-10-20 20:38:21
1117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人