C语言实验——分数序列

该博客介绍了一个使用C语言编写的程序,用于计算给定分数序列的前n项和。序列包括2/1, 3/2, 5/3等,问题要求输出序列的和并保留6位小数。示例输入为3,输出为5.166667。" 128542599,16642952,MyBatis查询操作:实体类、List、单行单列及Map,"['mybatis', 'java', '数据查询', '映射', '数据转换']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言实验——分数序列

Time Limit: 1000MS Memory Limit: 65536KB

Submit Statistic

Problem Description

有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, …编写程序求出这个序列的前n项之和。

Input

输入只有一个正整数n,1≤n≤10。

Output

输出该序列前n项和,结果保留小数后6位。

Example Input

3

Example Output

5.166667

Hint

Author

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int n,i;
    double a1,b1,b2,a3,b3,a2,s;//a1,a2,a3,b1,b3,b2分别存放分子和分母;
    scanf("%d",&n);
    for(i = 1;i <= n;i++)//分析题意可知,第三个分母与分子分别是前两个分母与分子的和;
    {
        if(i==1)
        {
            a1 = 2;
            b1 = 1;
            s = s + a1*1.0/b1;
        }
        else if(i==2)
        {
            a2 = 3;
            b2 = 2;
            s = s + a2*1.0/b2;
        }
        else
        {
            a3 = a1 + a2;
            b3 = b1 + b2;
            s = s + a3*1.0/b3;
            a1 = a2;
            a2 =  a3;
            b1 = b2;
            b2 = b3;
        }
    }
    printf("%.6lf\n",s);
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值