【Cantor表】蒟蒻题解

原题:传送门ios

(上图摘自网站OpenJudge - NOI题库2.1 Cantor表

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

首先,进行找规律。

你们能够发现:

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

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;
}
相关文章
相关标签/搜索