8 solutions

  • 4
    @ 2024-1-31 13:12:27
    #include<bits/stdc++.h>
    using namespace std;
    double x=2,y=1;
    double a[30]={x/y};
    
    int main () {
    	double sum=2; int n; cin >> n;
    	for (int i = 1; i < n; i++) {
    		int t=x; int t1=y;
    		x += t1; y = t;
    		a[i] = x/y;
    		sum += a[i];
    	}
    	printf("%.4lf",sum);
    	return 0;
    }
    
    • 2
      @ 2024-1-27 10:53:28
      #include<iostream>
      #include<iomanip>
      using namespace std;
      long n;
      long double s=0;
      int main(){
      	cin>>n;
      	long double q[n],p[n];
      	p[0]=1;
      	q[0]=2;
      	for(int i=0;i<n;i++){
      		s+=q[i]/p[i];
      		q[i+1]=q[i]+p[i];
      		p[i+1]=q[i];
      	}
      	cout<<fixed<<setprecision(4)<<s;
      	return 0;
      }
      
      • 1
        @ 2024-9-10 20:16:59

        #A1078. 求分数序列和

        我的号真成解说了?

        这题是斐波那契数列变式,使用两个斐波那契数解决

        为了防止数据量多造成超时,建议使用空间换时间方法(内存限制256MiB,绰绰有余)

        第一步:生成两个数组,提前填好数

        模板:

        //不包括前两个数
        for(int i=2;i<n;++i)
        	{
        		p[i]=p[i-1]+p[i-2];
        		q[i]=q[i-1]+q[i-2];
        	}
        

        第二步:计算累加和

        模板:

        for(int i=0;i<n;++i)
        {
            sum+=(double)p[i]/q[i]; 
        }
        

        第三步:输出

            //这里不会的话赶紧回炉重造
        

        学习去!别烦我!

        • 0
          @ 2025-1-27 16:52:28
          #include<bits/stdc++.h>
          using namespace std;
          double q[35]={0,2,3},p[35]={0,1,2};
          short n;
          double num,sum=3.5;
          int main(){
             cin>>n;
             if(n==0){
                sum=0;
                printf("%.4lf",sum);
                return 0;}
             if(n==1){
                sum=2;
                printf("%.4lf",sum);
                return 0;}
             if(n==2){
                sum=3.5;
                printf("%.4lf",sum);
                return 0;}
             for(int i=3;i<=n;i++){
                q[i]=q[i-1]+q[i-2];
                p[i]=p[i-1]+p[i-2];
                sum+=q[i]/p[i];
             }
             printf("%.4lf",sum);
             return 0;
          }
          
          • 0
            @ 2023-9-18 22:37:42
            #include<bits/stdc++.h> 
            using namespace std;
            int main(){
            	int n; 
            	double z=0,p1=1,q1=2,a,P1;
            	cin>>n;
            
            	for(int i=1;i<=n;i++){
            		P1=q1/p1;
            		z+=P1;
            		a=q1;
            		q1=q1+p1;
            		p1=a;
            		
            		
            	}
            	printf("%.4f",z);
            }
            
            • 0
              @ 2023-9-17 18:00:24
              #include <bits/stdc++.h>
              using namespace std;
              int n,a;
              double sum=2,q=2.0,p=1.0;
              int main(){
              	cin>>n;
              	for(int i=2;i<=n;i++){
              		a=p,p=q,q+=a;
              		sum+=q/p;
              	}
              	cout<<fixed<<setprecision(4)<<sum<<endl;
              	return 0;
              }
              
              • -1
                @ 2023-9-20 16:34:48
                #include <bits/stdc++.h>
                using namespace std;
                int main(int argc, char **argv){
                	int n;double p[35],q[35],sum = 1.0 * (1.0 * 2 / 1);	// q为分子,p为坟墓
                	p[0] = 1;
                	q[0] = 2;
                	cin >> n;
                	for (int i = 1;i < n;i++){
                		q[i] = q[i - 1] + p[i - 1];
                		p[i] = q[i - 1];
                		sum += 1.0 * (q[i] / p[i]);
                	}
                	printf("%.4f",sum);
                	return 0;
                }
                // q[i + 1] = q[i] + p[i]
                // p[i + 1] = q[i]
                // p[1] = 1
                // q[1] = 2
                
                • -2
                  @ 2023-9-18 21:29:10

                  #include<bits/stdc++.h> using namespace std; int main(){ int n; double z=0,p1=1,q1=2,a,P1; cin>>n;

                  for(int i=1;i<=n;i++){
                  	P1=q1/p1;
                  	z+=P1;
                  	a=q1;
                  	q1=q1+p1;
                  	p1=a;
                  	
                  	
                  }
                  printf("%.4f",z);
                  

                  }

                  • 1

                  Information

                  ID
                  568
                  Time
                  1000ms
                  Memory
                  256MiB
                  Difficulty
                  3
                  Tags
                  # Submissions
                  134
                  Accepted
                  71
                  Uploaded By