杭州企业网站搭建,企业形象网站建设意义,ip138域名查询,西安网站建设eliwe完整源代码项目地址#xff0c;关注博主私信源代码后可获取
1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序
1#xff0e;问题描述
计算下列多项式的值#xff1a; 2#xff0e;问题分析
方法一#xff1a;把上面多项式中的每一个分项标上记号#xff0c…完整源代码项目地址关注博主私信源代码后可获取
1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序
1问题描述
计算下列多项式的值 2问题分析
方法一把上面多项式中的每一个分项标上记号第一个式子的记号为1第二个式子的记号为2第三个式子的记号为3以此类推。可以发现式子的分母与记号之间的关系如表所示。 通过上表可以发现每一项分式的分母都是对应项标记的阶乘。所以只要求出每一项的阶乘再将其倒数和加在一起即为所求多项式的结果。
方法二整体去看每一个分式之间的联系每一个分式用一个字母来代替第一个分式用t1表示第二个分式用t2表示以此类推如表所示。 由上表可以看出后面一项等于前一项乘以当前项数的倒数如果这里的每一项都用同一个变量t表示那么第i项就可以用公式表示为tt*1/i。这样可以只用一层循环来实现循环变量i控制对应的项数取值范围为1n。
3算法分析
n的阶乘算法为n!1×2×3×4×5×…×n可用循环来实现。代码如下
t 1 # t记录每一项分式的分母每次循环之前给t赋初值
j 1
while j i:t t * j # 每一项的阶乘j 1对于每一项都是求出其分母即项数i对应的阶乘是一个循环重复的过程故可用另外一层循环来控制项数范围为1n。代码如下
i 1
while i n: # i控制对应的项数…对于存储阶乘的变量t每一次记录新的阶乘之前都要把其值赋为1否则下一项的阶乘值会受上一项的影响所以在每次执行内层循环求下一项阶乘之前要把t的值再次赋为1。
方法二的算法分析此处省略后面将给出相关程序。
4确定程序框架
程序流程图如图所示。 5完整的程序
方法1
# 多项式之和if __name__ __main__:n int(input(请输入一个整数n: ))print(f输入的整数是{n})s 0 # s记录多项式的和i 1while i n: # i控制对应的项数t 1 # t记录每一项分式的分母每次循环之前给t赋初值j 1while j i:t t * j # 每一项的阶乘j 1s s 1/ti 1print(%f %s)输入的整数是50
1.718282方法2
# 多项式之和
if __name__ __main__:s 0 # s记录多项式的和n int(input(请输入一个整数n: ))print(f输入的整数是{n})t 1for i in range(1, n1): # ini控制对应的项数t t*1/i #将分式的值赋给变量ts s tprint(%f %s)输入的整数是50
1.718282