zoukankan      html  css  js  c++  java
  • 求分数序列的前n项之和

    有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和。

    输入

     

    测试数据有多组,其第一行为一个正整数k(0<k<=90),表示测试数据的组数。每组测试数据为一行,为单个正整数n(0<n<=90)。

    样例输入

     


    2

    输出

     

    每组测试数据单独输出有一行:分数序列的和(精确到小数点后4位)。

    样例输出

     

    3.5000

    时间限制C/C++语言:1000MS其它语言:3000MS
    内存限制C/C++语言:65536KB其它语言:589824KB
     
    解法一:
     
    #include <iostream>
    #include <vector>
    #include <stdio.h>
    using namespace std;
    
    double sum(int n)
    {
        double a1=2,a2=3,b1=1,b2=2,temp1,temp2;
        double result=0;
        if(n==1)
            return a1/b1;
        if(n==2)
            return a1/b1+a2/b2;
        if(n>2)
        {
            for(int i=3;i<=n;i++)
            {
                temp1=a2;
                a2=a1+a2;
                a1=temp1;
                temp2=b2;
                b2=b1+b2;
                b1=temp2;
                result+=a2/b2;
            }
        }
        return result+3.5;
    }
    
    int main()
    {
        int i,k,n;
        vector<double> a;
        cin>>k;
        for(i=0;i<k;i++)
        {
            cin>>n;
            double x=sum(n);
            a.push_back(x);
        }
        for(int j=0;j<k;j++)
            printf("%.4f
    ",a[j]);
        return 0;
    }

    解法二:

    #include<iostream>
    #include<stdio.h>
    using namespace std;
    
    int main()
    {
        int N;
        double a = 2;
        double b = 1;
        double c = 0;
        double temp;
        double sum = 0;
        int count;
        cin >> N;
        for(int i = 0; i < N; i++){
            cin >> count;
            for(int j = 0; j < count; j++){
                c = a/b;
                sum = sum + c;
                temp = a;
                a = a+b;
                b = temp;
            }
        printf("%.4f
    ", sum);
        a = 2;
        b = 1;
        sum = 0;
        }
        return 0;
    }
  • 相关阅读:
    SEO(搜索引擎优化)已死
    C#与Java的详细比较(全)
    回眸·预言:Google媒体,称霸在2014 (转载)& 2015 update
    转载:Google calendar预览
    一个开源的ESB(企业服务总线) Celtix
    未来网虫生活图景
    今年圣诞节google标的意思
    我的生活质量
    Google Reader的午夜维护信息
    SNS网站应该更加自然
  • 原文地址:https://www.cnblogs.com/home123/p/6761073.html
Copyright © 2011-2022 走看看