1.PTA实验作业
1.1 7-3 梅森数
形如2^n−1的素数称为梅森数(Mersenne Number)。例如2^2−1=3、2^3−1=7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了2^31−1=2147483647是一个素数,堪称当时世界上“已知最大素数”的一个记录。本题要求编写程序,对任一正整数n(n<20),输出所有不超过2^n−1的梅森数。
1.1.1数据处理
- 数据表达:用了整型的number,i, accumulation,p,s变量。
- 数据处理:
输出入2的幂number
while p<number
do p←p+1
accumulation=pow(2,p)
for i 1 to (accumulation-1)/2 by 1 do
if (accumulation-1)%i=0
then break
end
if i>(accumulation-1)/2
then 输出accumulation-1并换行
s←s+1
end
if s=0
then 输出None
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 |
输出数据 |
说明 |
6 |
3 7 31 |
幂小于10 |
17 |
3 7 31 127 8191 131071 |
幂大于10 |
19 |
3 7 31 127 8191 131071 524287 |
幂大于10 |
1.1.4 PTA提交列表及说明
- 1.部分错误:一个if语句的条件错误。调试中解决。
- 2.部分错误:输出的变量搞错了。调试中解决。
- 3.答案错误:在改动上面的过程中把while语句里循环的判断条件改错了。分析错误看代码时解决。
- 4.答案错误:逻辑错误,break打成了continue。调试中观察到变量的值与心里想的语句走向矛盾问题。
1.2 7-8 输出三角形字符阵列
本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列。
1.2.1数据处理
- 数据表达:使用了整型变量n,j,i和字符变量c。
- 数据处理:
输入三角形的行数n
c←'A'
for i 1 to n by 1 do
for j i to n by 1 do
输出字符变量C
C的ASCII值加一
end
换行
end
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 |
输出数据 |
说明 |
2 |
|
小于3 |
3 |
|
等于3 |
4 |
|
大于3 |
1.2.4 PTA提交列表及说明
- 1.编译错误:输出换行的那个语句忘打分号了。pta提示解决。
- 2.格式错误:输出字符时没有空格。在Dev里发现输出与题目的输出样例稍有不同。
- 3.格式错误:把空格加大字符前面去了。看输出格式说明解决。
2.代码互评
同学代码截图
自己代码截图
- 1.这位同学的代码的变量直接看不出含义,不容易理解。
- 2.这位同学的内层循环次数有可能过多,应将for语句的j<a的a改成根号a或二分之一a。
3.学习总结
3.1 学习进度条
周/日期 |
这周所花时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
7/10.9-7/10.11 |
7小时 |
276 |
if- else语句 |
PTA第三次作业的第5题用我自己的思路编代码结果不对 |
8/10.16-10.18 |
16小时 |
257 |
用for语句计算简单的序列和 |
浮点变量的单精度和双精度有什么区别 |
9/10.23-10.26 |
17小时 |
127 |
初步的了解了while语句和定义函数的使用 |
在那种情况下数组变量要定义在主函数外 |
6/27~6/31 |
17小时 |
270 |
多分枝结构和表达式,数组 |
数组到底可以存多少个数,超出10怎么表达每一个数组 |
11/11.6-11/11.8 |
17小时 |
176 |
switch语句可以分成很多种情况 |
swicth语句到底可能可以内嵌switch语句,我试过没成功过 |
12/11.13-12/11.15 |
17小时 |
270 |
使用while语句进行循环计算 |
伪代码到底怎么打,网上的文章看不懂 |
13/11.20-13/11.22 |
13小时 |
267 |
循环语句的嵌套使用 |
break语句只能结束循环吗?switch语句里也有循环,但不是循环语句 |
14/11.27-14/11.29 |
12小时 |
166 |
循环的了解进一步加深 |
调试时在return 0行设置断点有什么用 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
- 1.在用循环的时候要特别注意循环的次数,不然很容易超时。
- 2.在解决问题的过程中最好先将大问题分成三四个小问题(不要过多)一一解决,然后在结合在一块。
- 3.在做题的过程中若很久都做不成不要在蛮做了,可以去看看C语言的书,借鉴一下别人的代码。