P1014 [NOIP1999 普及组] Cantor 表

#include<stdio.h>

int main()
{
    int n;
    while(scanf("%d", &n) != EOF)
    {
        if(n == 1)
        {
            printf("1/1\n");
            continue;
        }
        else
        {
            int i;
            for(i = 1; ; i++)
            {
                if((i+1)*i/2<n && (i+2)*(i+1)/2>=n)
                {
                    break;
                }
            }
            int length = n-(i+1)*i/2;
            //printf("#%d %d\n", i, length);
            if((i+1)%2 == 0)
            {
                printf("%d/%d\n", length, i+2-length);
            }
            else
            {
                printf("%d/%d\n", i+2-length, length);
            }
        }
    }
}

 

posted @ 2021-10-26 12:18  White_Raffard  阅读(85)  评论(0)    收藏  举报