【洛谷P1014 Cantor表】蒟蒻题解

通过观察可得以下规律:

  1. 当分子是一的时候,且分子和分母的和是偶数时,分母会加一。

  2. 当分母是一的时候,且分子和分母的和是奇数时,分子会加一。

  3. 除了以上情况外,分子和分母的和是偶数时,则分母减一,分子加一;分子和分母的和是奇数时,分母加一,分子减一。

原题:传送门


本蒟蒻的题解,让大神们见笑了!
首先,进行找规律。
大家可以发现:

  • 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;
}