游客 Signup | Login
中文 | En

3389 - cantor表

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

 

<span>&nbsp;</span><span style="line-height:1.5;">我们以</span><span style="line-height:1.5;">Z</span><span style="line-height:1.5;">字形给上表的每一项编号。第一项是</span><span style="line-height:1.5;">1/1</span><span style="line-height:1.5;">,然后是</span><span style="line-height:1.5;">1/2</span><span style="line-height:1.5;">,</span><span style="line-height:1.5;">2/1</span><span style="line-height:1.5;">,</span><span style="line-height:1.5;">3/1</span><span style="line-height:1.5;">,</span><span style="line-height:1.5;">2/2</span><span style="line-height:1.5;">,…</span> 

Input

整数N(1≤N≤10000000)

Output

表中的第N

Examples

Input

7

Output

1/4

Hint

上传者:吕红波

Solution C++

#include<iostream>
using namespace std;
int main()
{
	long h,fz,fm,n,sum=0;
	cin>>n;
	h=0;
	sum=0;
	while(sum<n)
	{
		h++;
		sum+=h;		
	}
	sum-=h;
	int m;//表示第m项
	m=n-sum;
	if(h&1)
	{
		fm=m;
		fz=h+1-m;
	} 
	else
	{
		fz=m;
		fm=h+1-m;
	}
	cout<<fz<<'/'<<fm<<endl;
	return 0;
}

Hint

上传者:吕红波

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题