首页 > 试题广场 >

牛牛学数列2

[编程题]牛牛学数列2
  • 热度指数:49889 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}牛牛开始学习数列啦。这次他想计算如下数列的前 n 项和:

\displaystyle H(n) = 1 + \frac{1}{2} + \frac{1}{3} + \cdots + \frac{1}{n}

\hspace{15pt}请计算并输出 H(n) 的值。

输入描述:
\hspace{15pt}在一行中输入一个整数 n,满足 1 \leqq n \leqq 1000


输出描述:
\hspace{15pt}输出一个浮点数,表示 H(n) 的值。注意,由于浮点数存在误差,只要您的答案与标准答案之间的误差不超过 10^{-5},您的答案就会被认为是正确的。
示例1

输入

2

输出

1.500000

说明

H(2)=1+\tfrac{1}{2}=1.5
import java.util.Scanner;

import java.math.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
            BigDecimal bg=new  BigDecimal("1");
            BigDecimal g=new  BigDecimal("0");
           
            int b = in.nextInt();
            while(b>0){
               
                g=g.add(bg.divide(BigDecimal.valueOf(b),6,RoundingMode.HALF_UP));
                b--;
            }
            System.out.println(g);
           
    }
}
发表于 2026-03-19 20:19:20 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        //使用Scanner录入一个整数
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        //求数列和,定义一个double类型sum接收
        //sum==1+1/2+1/3+...+1/n;
        double sum=0;
        for(int i=1;i<=n;i++){
            sum+=1.0/i;
        }
        System.out.println(sum);
    }
}
发表于 2025-11-01 10:02:45 回复(0)
import java.util.Scanner;
import java.util.Formatter;
import java.math.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            double sum =0.0;
            if(a!=0) {
                for(int i =1;i<=a;i++) {
                    sum+=1.0/i;
                }
            }
            System.out.println(String.format("%.6f",sum));
        }
    }
}

发表于 2024-03-01 11:02:46 回复(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;
        for(int i=1;i<=n;i++){
            Double.valueOf(i);
            a=a+1.0/i;
        }
        System.out.printf("%.6f",a);

    }
}

发表于 2022-10-30 10:31:05 回复(0)
import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int x=sc.nextInt();
        double count=0;
        for(int i=1;i<=x;i++)
            count+=1.0/i;
        System.out.printf("%.6f",count);
    }
}

发表于 2022-07-25 22:45:12 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] arg) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        double a = 0;
        double b = 0;
        for (int i = 1; i <= n; i++) {
            a = (double)1 / i;
            b = b + a;
        }
        System.out.printf("%.6f",b);
    }
}

发表于 2022-07-01 15:47:12 回复(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++){
                sum = sum + (double)(1.0 / i);
            }
            System.out.println(String.format("%.6f",sum));
        }
    }
}

发表于 2022-06-28 10:03:36 回复(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=1;
        for(int i=2;i<=N;i++){
            sum+=(double)1/i;
        }
        System.out.printf("%.6f",sum);
    }
}

发表于 2022-05-06 20:53:26 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double d = scanner.nextDouble();
        double sum = 0;
        for (int i = 1; i <= d; i++) {
            sum += 1.0 / i;
        }
        System.out.println(String.format("%.6f", sum));
    }
}

发表于 2022-04-05 22:38:14 回复(0)
import java.util.*;

public class Main{
    public static void main(String[] args)throws Exception{
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
           System.out.printf("%.6f",sum(n));
    }
    
    public static double sum(int n){
        double sum = 0;
       for(int i = 1; i <= n; i++){
          sum += 1.0 / i;
       }
        return sum;
    }
}
发表于 2022-03-19 16:26:39 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        double sum = 0;
        for(int i =1;i<=n;i++){
            sum = sum+1/(double)i;
        }
        System.out.println(String.format("%.6f",sum));
    }
}
发表于 2022-02-28 11:00:39 回复(0)