7-77 Encuentra la suma de los primeros N términos de la secuencia de puntuación (15 puntos)

7-77 Encuentra la suma de los primeros N elementos de la secuencia de fracciones (15 puntos)
Esta pregunta requiere escribir un programa para calcular la suma de los primeros N elementos de la secuencia 2/1+3/2+5/3+ 8/5+…. Tenga en cuenta que la secuencia comienza desde el elemento 2, y el numerador de cada elemento es la suma del numerador y el denominador del elemento anterior, y el denominador es el numerador del elemento anterior.

Formato de entrada:
la entrada da un número entero positivo N en una línea.

Formato de salida:
genera el valor de la suma parcial en una línea, con una precisión de dos decimales. El título garantiza que el resultado del cálculo no supere el rango de doble precisión.

Muestras de entrada:
20
Muestras de salida:
32,66

Asegúrese de definir el número como doble, porque esta es la famosa "secuencia de Fibonacci": 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987 , 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368... Si se define como int, puede exceder el rango

#include<iostream>
#include<iomanip>
using namespace std;
/*本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+... 的前N项之和。
注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。*/
int main(){
    
    
	int n;
	double sum=0,fz=2.0,fm=1.0,t;
	cin>>n;
	for(int i=0;i<n;i++){
    
    
		sum=sum+fz*1.0/fm;
		t=fz;
		fz=fz+fm;
		fm=t;
	}
	cout<<fixed<<setprecision(2)<<sum;
	return 0;
	
}

Supongo que te gusta

Origin blog.csdn.net/weixin_45534301/article/details/112617580
Recomendado
Clasificación