题面

求下列多项式前k项的和,1 - 1/2 + 2/3 - 3/4 +4/5 - 5/6 + ...

要求结果表示为真分式形式

输入

输入k,k<=100

输出

求前k项的和

样例输入

2

样例输出

1/2

代码

import java.util.Scanner;
public class Main {
    public static long GCD(long a, long b) {
        if(b == 0) {
            return a;
        }
        return GCD(b,a % b);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int k = sc.nextInt();
        double sum = 1;

        long  son = 1, mother = 1;
        if(k == 1) {
            System.out.println("1/1");
            System.exit(-1);
        }

        for(int i = 2; i <= k; ++i) {
            if (i % 2 == 0) {
                long x= son * i - mother *(i - 1);  //新的分子
                long y = mother * i;       //新的分母
                long  gcd = GCD(x, y);     //最大公因数
                son = x / gcd;
                mother = y / gcd;
            } else {
                long x = son * i + mother * (i - 1);
                long y = mother * i;
                long  gcd = GCD(x, y);
                son = x / gcd;
                mother = y / gcd;
            }
        }
        System.out.println(son + "/" + mother);
    }
}

立志做一名攻城狮