大一第二次机考注意点

1.要保证m小,n大传入,在传入函数前若m>n;则引入temp,调换顺序

2.求最小公倍数,最大公约数时,要注意a++,b--;循环条件的设置,求最小公倍数时,a++;若求最大公倍数,b--,且b>0;

3.求素数时,要注意1不是素数!!!

(1)判断m是不是1格外的关键,如果没有判断1,使之变为1的话,那么在a%b==0时,1%2==0;也成立,那么程序会判断1也为素数;所以要判断m是否为1!!!

(2)flag作为开关,如a=5,则要判断2到4之间是否有除数,可引入flag,若在经历整个循环后,flag依旧不变,则说明不满足if条件,没有除数,满足素数的条件

4.完数;1也不是完数!!!

(1)与素数一样,也要注意m=1;若没有判断m=1;那么进入循环后,sum=1;sum==a=1;所以程序会判断1也是完数,导致结果错误;

(2)sum=1;以及sum的位置,在第一个循环的位置,若在第一个循环下没有写sum=1;那么sum的值就会一直累计,如a=2,sum=1;a=3,sum=1;a=4;sum=3;a=6,sum=6;但是到8,sum=6+4=10了,到下一个完数即28时就会判断错误,sum此时已经sum=1+2+3+4+5+6+7+8+9+10+11+12+13+14了不等于28了,所以每一个a结束后都要初始化sum=1

(3)素数与完数一样都要判断m是否为1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值