【摘要】:1)算法设计要点根据题意,先使f1=1,f2=1;生成数列的第1个和第2个数。2)参考源程序程序运行结果如下:输出10~100之间的全部素数。再用一层循环结构,在循环体内用上面的算法逐个判断10~100之间的每一个数是否为素数,若是,则输出。2)参考源程序程序运行结果如下:思考题:为提高程序运行速度,程序是否还可以优化?用公式求π的近似值,直到最后一项的绝对值小于10-6为止。1)算法设计要点用累加求和的方法计算多项式之和。
【例5.13】求Fibonacci数列的前20个数。该数列的生成方法为:F1=1,F2=1,Fn=Fn-1+Fn-2(n>=3),即从第3个数开始,每个数等于前两个数之和。
1)算法设计要点
(1)根据题意,先使f1=1,f2=1;生成数列的第1个和第2个数。
(2)通过f1=f1+f2,f2=f2+f1;分别生成数列的第3个和第4个数。重复(2),每次生成两个数,依次可生成数列的前20个数。
(3)由于后产生的数要覆盖前面的数(用了相同的变量),因此,每产生两个数之后,先输出,然后再产生后两个数。2)参考源程序
程序运行结果如下:
【例5.14】输出10~100之间的全部素数。
1)算法设计要点
(1)所谓素数n,是指除1和n之外,不能被2~(n-1)之间的任何整数整除的数。判断某数n是否为素数的算法:用2~(n-1)之间的每一个数去整除n(用循环结构),如果都不能被整除,则表示该数是一个素数;如果有任意一个数能整除,则该数就不是素数。
(2)再用一层循环结构,在循环体内用上面的算法逐个判断10~100之间的每一个数是否为素数,若是,则输出。2)参考源程序
程序运行结果如下:(www.xing528.com)
思考题:为提高程序运行速度,程序是否还可以优化?(提示:从减少循环次数的角度来考虑)
【例5.15】用公式
求π的近似值,直到最后一项的绝对值小于10-6为止。
1)算法设计要点
(1)用累加求和的方法计算多项式之和。
(2)多项式的分母为前一项的分母加2,其符号为前一项的符号乘以-1实现交替变化。
2)参考源程序
}
程序运行结果如下:
pi=3.14159065
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。