一,PTA实验报告

题目一:PTA 7-27计算两个数的最大公约数和最小公倍数。

    1.设计思路:两个数的最大公约数可以使用辗转相除法,先用i和j把两个数保存下来,再使用个循环把两个数的最大公约数求出来,用较大数除去较小数,再求余数,再用较小数除去第一个余数得到第二个余数,如此反复,知道余数变成0,最后的被除数既是最大公约数。

   最小公倍数即是两数之积除去最大公约数。

  

 

    2.本题pta提交列表

   3.本题代码截屏

          4.本题调试中遇到的问题

 1.不能理解辗转相除法出现了以下情况

原因:x,y的位置反掉了,导致y不会出现等于0的情况,所以是个死循环。

题目二:pta7-16 小于m的最大十个素数

1.设计思路:首先,先输入一个数n,要有一个循环找到小于它的十个素数,素数只能被一和本身整除,所以还需要一个循环来产生1到n之内的j被n除。从而判断n是否是素数。所以要有个循环不断产生小于n的整数。

 

   2.本题pta提交列表

    3.本题代码截屏

 

 

     4.本题调试过程  

 

原因:i是不断减小的,而j是不断增加的,而在这个代码里我用的是j--,所以实现不了找素数,并且答案错误。

题目三:pta7-7计算阶乘和

   1.设计思路:先求出每个数的阶乘,再把这些数的阶乘相加。一个数的阶乘是从1到它自身的总乘积。即用一个循环让产生从一到这个数的整数进行相乘产生该数的阶乘,再用一个循环把这些阶乘相加。

 

    2.本题提交列表

 

 

    3.本题代码截屏

 

     4.本题调试过程

问题1:阶乘出现的值比实际值小,经过检查发现是j<=i,而不是j<i.

 

问题2:在第二个for内多加了个大括号,导致数值变大。

二.截图pta本周的最后排名

 

三.同学代码结对互评

互评同学名称:黄月浩

 

我的代码

 

  这一题是统计素数并求和。

  我的代码先判断是否为素数,然后如果判断后不是是素数的话,继续执行下一个数,黄月浩的代码也是先判读素数,但是她判断素数的方法和我不一样,也比我更加简洁,方便。她用if(flag)执行循环,很有效。

  比较起来我的代码更长一点,我更喜欢黄月浩的代码,更简洁还能很好实现效果。

四.本周学习总结

  1.在很多地方运用到了for循环和while循环。

  2.明白了while和for循环的区别,理解了两者的不同,在有明确结束条件的时候选择for循环更加简洁,能把多个语句放到一个括号内,while循环在循环次数不限的时候比较有效。

  3.对switch语句的运用不够多,在以后的学习中要多加尝试。

  4.对语句的结束和开始掌握的不大好。

   5.对考试结果不大满意,平时打代码不大主动,自己修改自己的代码比较困难。希望自己在以后的学习中更加勤奋,更加耐心。把以前不懂的知识点弄明白,不清楚的搞懂。

 

posted on 2017-12-28 16:28  Noko  阅读(161)  评论(0编辑  收藏  举报