1、《算法概论》第一次作业之问卷星问答(未在csdn中展现),因为惰性,还是百度了第六题和第七题,导致被查重软件查出。今后杜绝类似事情的发生,难得可以不做,但简单的要做就做好。
2、《算法概论》第一次作业之编程,求另个数的最大公约数。
我的核心代码:
- int mgys(int a,int b){
- int c,d;
- if(a<b){
- c=a;
- a=b;
- b=c;
- }
- while(a%b!=0){
- d=b;
- b=a%b;
- a=d;
- }//辗转相除
- return b;
- }
通过老师上课的指导,发现a和b不需要比较大小。
譬如,a=3,b=5;直接执行while语句得到d=5;b=a%b=3;a=5; 代码直接将两数进行了交换,故不需要再做比较。
优化后的代码:
public class gys {
int mgys(int a,int b){
int c;
while(a%b!=0){
c=b;
b=a%b;
a=c;
}//辗转相除
return b;
}
总结:即便是简单的功能也可以进行优化。编程基础不是很牢固,还是有人为的思想(取余运算被除数一定要大于除数)。