HNUCM-OJ 1401: 递归求解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/fores_t/article/details/92089122

http://acm.hnucm.edu.cn/JudgeOnline/problem.php?id=1401
题目描述:
使用递归编写一个程序,求以下数列的前n项:
s=1−1/2+1/3−1/4+1/5−1/6+…+1/n
输入
多组数据输入,每组输入一个正整数n
输出
输出前n项的结果(精确到小数点后六位)
样例输入 Copy
1
样例输出 Copy
1.000000
来源/分类
算法分析与设计

public class Main {
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            int scc=sc.nextInt();
            DecimalFormat format   =   new   DecimalFormat("0.000000");
            System.out.println(format.format(gcc(scc)));
        }
    }
    public static Double  gcc(int acc){
        if(acc <= 1){
            return 1.000000;
        }else {
            if(acc%2==0){
                return gcc(acc-1)-(1.000000/acc);
            }
            else{
                return gcc(acc-1) + (1.000000/acc);
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/fores_t/article/details/92089122