【Cantor表】蒟蒻题解

原题:传送门


本蒟蒻的题解,让大神们见笑了!

首先,进行找规律。

大家可以发现:

  • 1、当分子是一的时候,且分子和分母的和是偶数时,分母会加一。
  • 2、当分母是一的时候,且分子和分母的和是奇数时,分子会加一。
  • 3、除了以上情况外,分子和分母的和是偶数时,则分母减一,分子加一;分子和分母的和是奇数时,分母加一,分子减一。

OK,规律找完了,接下来就是代码上的实现了。

咳咳,上代码:

#include<iostream>
using namespace std;
int n,p=1,q=1;
int main()
{
	cin>>n;
	for(int i=1;i<n;i++)
	{
		if((p+q)%2==0&&p==1)
        	q++;
		else if((p+q)%2==1&&q==1)
        	p++;
		else if((p+q)%2==0)
        	p--,q++;
		else if((p+q)%2==1)
        	p++,q--;
	}
	cout<<p<<"/"<<q;
	return 0;
}
posted @ 2020-02-03 13:07  晴空刹那  阅读(243)  评论(0)    收藏  举报