1 条题解

  • 0
    @ 2023-6-11 12:15:50

    C :

    #include<stdio.h>
    int f(int n){
    	if(n==1||n==2){
    		return 1;
    	}else{
    		return f(n-1) + f(n-2);
    	}
    }
    void main(){
    	int n,i;
    	scanf("%d",&n);
    	double s = 0;
    	for(i=1;i<=n;i++){
    		s = s + f(i)*1.0/f(i+1);
    	}
    	printf("%.3lf",s);
    }
    
    

    C++ :

    #include<iostream>
    #include<iomanip>
    using namespace std;
    
    
    int digui(int n);
    
    int main(){
    	int n=0;
    	double s=0;
    	cin>>n;
    	
    	for(int i=1;i<=n;i++){
    		s=s+digui(i)*1.0/digui(i+1);
    		
    	}
    	
    	cout<<setiosflags(ios::fixed)<<setprecision(3)<<s<<endl;
    }
    
    int digui(int n){
    	if(n==1 || n==2){
    		return 1;
    	}
    	else{
    		return digui(n-1)+digui(n-2);
    	}
    }
    
    

    Python :

    def feiBo(n):
        if n == 1 or n == 2 :
            return 1
        else:
            return feiBo(n - 1) + feiBo(n - 2);
    n = int(input())
    s = 0
    for i in range (1,n+1):
         s += feiBo(i) / feiBo(i + 1)
    print('%.3f' % s)                
    
    
    • 1

    【入门】求1/1+1/2+2/3+3/5+5/8+8/13+13/21……的前n项的和

    信息

    ID
    2070
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者