题目描述

现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:

1/11/1 , 1/21/2 , 1/31/3 , 1/41/4, 1/51/5, …

2/12/1, 2/22/2 , 2/32/3, 2/42/4, …

3/13/1 , 3/23/2, 3/33/3, …

4/14/1, 4/24/2, …

5/15/1, …

… 我们以ZZ字形给上表的每一项编号。第一项是1/11/1,然后是1/21/2,2/12/1,3/13/1,2/22/2,…

输入输出格式

输入格式:

 

整数NN(1≤N≤100000001≤N≤10000000)

 

输出格式:

 

表中的第NN项

 

输入输出样例

输入样例#1: 复制

7

输出样例#1: 复制

1/4
import java.util.Scanner;
public class P1014_Cantor表 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int n=in.nextInt();
		int a[]=new int[1000000];
		a[1]=1;
		int c=1;
		for(int i=2;i<a.length;i++)
		{
			a[i]=a[i-1]+i;
			if(a[i]>=n){
				c=i;
				break;
			}
		}
		if(c%2==0)
		{
			System.out.println(n-a[c-1]+"/"+((c+1)-(n-a[c-1])));
		}
		if(c%2==1)
		{
			System.out.println(((c+1)-(n-a[c-1]))+"/"+(n-a[c-1]));
		}
	}

}