1 solutions

  • 0
    @ 2025-3-3 16:33:49

    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项的和

    Information

    ID
    10742
    Time
    1000ms
    Memory
    32MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By