列表

详情


BC85. 牛牛学数列3

描述

牛牛准备继续进阶,计算更难的数列
输入一个整数n,计算 1+1/(1-3)+1/(1-3+5)+...+1/(1-3+5-...((-1)^(n-1))*(2n-1))的值

输入描述

输入一个整数

输出描述

输出一个浮点数,保留3位小数

示例1

输入:

1

输出:

1.000

原站题解

C 解法, 执行用时: 2ms, 内存消耗: 288KB, 提交时间: 2022-06-08

#include<stdio.h>
#include<math.h>

int main()
{
    int n;
    float sum = 0.0;
    float num = 0.0;
    scanf("%d",&n);
    
    for(int i =1;i<=n;i++)
    {
        num = num + pow(-1, i-1)*(2 * i - 1);
        sum=sum + 1 / num;
    }
    printf("%.3f",sum);
    return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 292KB, 提交时间: 2022-02-22

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

C 解法, 执行用时: 2ms, 内存消耗: 296KB, 提交时间: 2022-05-03

#include <stdio.h>
#include <math.h>
int main()
{
	int n = 0;
    int i = 0;
    int num = 0;
    float sum = 0.0;
    scanf("%d", &n);
    for(i = 1; i <= n; i++)
    {
        num = num + pow(-1, i-1) * (2 * i - 1);
        sum = sum + 1.0 / num;
    }
    printf("%.3f", sum);
	return 0;
}

C 解法, 执行用时: 2ms, 内存消耗: 296KB, 提交时间: 2022-03-15

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

C 解法, 执行用时: 2ms, 内存消耗: 296KB, 提交时间: 2022-03-11

#include <stdio.h>

int main()
{
    int n = 0;
    scanf("%d",&n);
    
    double sum = 0;
    for (int j = 1; j <= n; j++)
    {
        int num = 1;
        int divi = 0;
        for (int i = 1; i <= j; i++)
        {
            divi += num*(2*i - 1);
            num = -num;
        }
        sum +=1.0/divi;
    }
    
    printf("%.3lf\n",sum);
    
    return 0;
}

上一题