您的位置:首页 > 其它

算法篇-数学基础-Cantor的数表

2015-04-14 10:53 197 查看
题目:如下列数,第一项是1/1,第二项是1/2,第三项是2/1,第四项是3/1,第五项是2/2,······。输入n,输出第n项。

1/1 1/2 1/3 1/4 1/5

2/1 2/2 2/3 2/4

3/1 3/2 3/3


4/1 4/2

5/1

样例输入:

3

14

7

12345

样例输出:

2/1

2/4

1/4

59/99



代码如下:

#include <iostream>
using namespace std;
int main()
{
    int n;
    while (cin>>n&&n!=0)
    {
        int k,s=0;
        for (k=1;;k++)
        {
            s+=k;
            if (s>=n)
            {
                cout<<s-n+1<<"/"<<k-s+n<<endl;
                break;
            }
        }
    }
      return 0;
}


运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: