代码改变世界

PTA函数作业

2018-01-22 11:58  西柚yu  阅读(396)  评论(0编辑  收藏  举报

一、PTA实验作业--函数

1.

(1)

最终代码

(2)算法描述

对于输入的n个正整数,依次用isPrime判断是否是素数;isPrime函数定义为如果x1则输出No,对于不是1的正整数,采用一个for循环,看该正整数能否被2sqrt(x)以内的数整除,如果可以就结束循环,输出No,否则输出Yes

(3)问题分析

isPrime函数中,开始时没有考虑到x会为1的情况;在if判断中输出No后忘记加上break,导致多输出yesno程序始终不正确。

2.

(1)

最终代码

(2)算法描述

通过定义一个fact函数求出sum值;fact函数是通过一个for循环,将1n中的全部指数值进行累加,结果保存在sum中,当循环结束,返回sum求出最终的sum

(3)问题分析

fact函数中考虑过将pow(2,i)分别求出,然后进行累加,后来发现直接用进行计算pow和累加更加方便;本题出现格式错误,无法找出出错在哪里。

3.

(1)

最终代码

(2)算法描述

c来表示组合数,定义一个fact函数用来求出阶层的值,fact函数为如果x是小于等于1的,那么返回1,否则返回x*fact(x-1),采用递归思想

(3)问题分析

在输出c值的时候,没有对c规定保留几位小数,导致输出的c不是整数;本题格式出错,不知道出错在哪里,尚未解决。

二、同学互评代码

我的代码                                                                                               同学代码(牛磊)

三、PTA截图

四、总结

学会调用函数,函数的递归思想,函数的嵌套运用。