首页 > 试题广场 >

牛牛学数列3

[编程题]牛牛学数列3
  • 热度指数:17699 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
牛牛准备继续进阶,计算更难的数列
输入一个整数n,计算 1+1/(1-3)+1/(1-3+5)+...+1/(1-3+5-...((-1)^(n-1))*(2n-1))的值

输入描述:
输入一个整数


输出描述:
输出一个浮点数,保留3位小数
示例1

输入

1

输出

1.000
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            double sum =0.0;
            double den = 0.0;
            int f = 1;
            for(double i =1.0;i<=a ;i++) {
                den+=f*(2*i-1);
                sum+= 1/den;
                f=-f;
            }
            System.out.println(String.format("%.3f",sum));
        }
    }
}

编辑于 2024-03-01 11:11:30 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n=in.nextInt();
        double a=0.0;
        double b=0.0;
        for(int i=1;i<=n;i++){            
            b=b+Math.pow(-1,i-1)*(2*i-1);
            a=a+1.0/b;           
        }
        System.out.printf("%.3f",a);
    }
}

发表于 2022-10-30 11:48:58 回复(0)
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        float count=0;
        for(int i=1;i<=n;i++){
            count+=1/cal(i);
        }
        System.out.printf("%.3f",count);
    }
    public static float cal(int x){
        float count=0;
        for(int i=1;i<=x;i++){
            count+=Math.pow(-1,i-1)*(2*i-1);
        }
        return count;
    }
}

发表于 2022-08-13 22:52:07 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] arg) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        double fen = 0;
        double sum1 = 0;
        double sum2 = 0;
        for (int i = 1; i <= n; i++) {
            fen = 1 / (double)i;
            if (i % 2 != 0) {
                sum1 += fen;
            } else {
                sum2 += fen;
            }
        }
        System.out.printf("%.3f", (sum1 - sum2));
    }
}

发表于 2022-07-01 16:12:58 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext()){
            double num = scanner.nextDouble();
            double sum = 0.0;
            for(int i = 1;i <= num;i++){
                if(i % 2 == 0){
                    sum = sum - (double)(1.0 / i);
                }else{
                    sum = sum + (double)(1.0 / i);
                }
            }
            System.out.println(String.format("%.3f",sum));
        }
    }
}

发表于 2022-06-28 10:21:21 回复(0)
import java.util.*;
public class Main{
    public static void main(String love[]){
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        double sum=0;
        for(int i=1;i<=n;i++){
            if(i%2==0){
               sum-=(double) 1/i;
            }
            else{
                sum+=(double) 1/i;
            }
        }
        System.out.printf("%.3f",sum);
        input.close();
    }
}

发表于 2022-05-06 21:16:54 回复(0)

问题信息

上传者:牛客301599号
难度:
7条回答 1595浏览

热门推荐

通过挑战的用户

查看代码