题目:计算数列:2/1+3/2+5/3+8/5+…的前10项的和 分析:乍一看,还以为是斐波拉契数列呢,然后就用递归方程把分子、分母分别求出来,然后相除求和即可。规律是这样,但这么做程序算法会溢出。所以不能利用递归循环来解此题。进一步分析会发现,后面每一项的分子是前一项的分子和分母的和,而每一项 ...
之前也遇到过代码运行到较大N时,程序出错,百思不得其解。 int占 位时,取值范围为 本题中当N为 时,分子的取值将达到 ,超出int取值范围 ,出现异常,导致计算结果出错,也就是PTA中判断的较大N出错。 N lt 时一切正常,当N 时,分子值因为超出int取值范围出现错误。因此本题中,fenmu,fenzi,t应为double类型。 ...
2020-04-04 16:17 0 1239 推荐指数:
题目:计算数列:2/1+3/2+5/3+8/5+…的前10项的和 分析:乍一看,还以为是斐波拉契数列呢,然后就用递归方程把分子、分母分别求出来,然后相除求和即可。规律是这样,但这么做程序算法会溢出。所以不能利用递归循环来解此题。进一步分析会发现,后面每一项的分子是前一项的分子和分母的和,而每一项 ...
有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和。 输入 测试数据有多组,其第一行为一个正整数k(0<k ...
只有1行,为2个正整数,用一个空格隔开: k N (k、N的含义与上述的问题描述一致,且3≤k≤15,10≤N≤1000)。 计算结果,是一个正整数(在所有的测试数据中,结果均不超过2.1*10^9)。(整数前不要有空格和其他符号)。 #include<stdio.h> int ...
从键盘输入一个整数n,求前n项的阶乘之和,1+2!+3!+...+n!的和 输入格式: 输入一个大于1的整数。例如:输入20。 输出格式: 输出一个整数。例如:2561327494111820313。 输入样例: 在这里给出一组输入。例如: 输出样例: 在这里给出相应的输出 ...
有一个分数序列,求出这个数列的前20项之和 答案解析: 从题目当中可以看出来,下一个分式当中的分子为上一个分式中分子和分母的和,分母为上一个分式的分子。通过这个规律不难推出下一个分式的分子和分母,需要注意的是,保存分式的结果不能使用到整数,因为有可能会有小数的存在,所以我们需要选用浮点数 ...
n = int(input("Input N: ")) a = 0 b = 1 sum = 0 for i in range(n): sum += a a, b = b, a + b print("The sum of", n, "FIB is", sum,"!") ...
/13...... 求出这个数列的前N项之和,保留两位小数。 输入 ...