P1014_Cantor表 (JAVA语言)

题目描述

现代数学的著名证明之一是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]));
		}
	}

}

 

全部评论

相关推荐

沉淀一会:**圣经 1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务