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

来源:互联网 发布:2g和4g网络的区别 编辑:程序博客网 时间:2024/05/02 02:15

题目:如下列数,第一项是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;}


运行结果:

0 0