NOIP1999 Cantor表

Description

现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 2/2 2/3 2/4 … 3/1 3/2 3/3 … 4/1 4/2 … 5/1 … … 我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,…
NOIP1999 Cantor表_第1张图片

Input

输入一个正整数N,1≤N≤10000000

Output

表中的第N项

Sample Input

7

Sample Output

1/4

第i行有i个元素。
奇数行i从左下到右上,第j个的值为(i-j+1)/j ,
偶数行i从右上到左下,第j个的值为j/(i-j+1)。

代码如下:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        int i=0;
        while(i<n)
        {
            n-=i;
            i++;
        }
        if(i%2==0) System.out.println(n+"/"+(i+1-n));
        else System.out.println((i+1-n)+"/"+n);
    }
 
}
博客已搬: 洪学林博客

你可能感兴趣的:(NOIP1999 Cantor表)