POJ 1969 S型排列

来源:互联网 发布:知乎建筑学新手读书 编辑:程序博客网 时间:2024/06/04 00:31

题意:输入n,即指第几个数,输出S型排列的值。

思路:数学技巧题……以斜线求,K为斜线数,求s>=k即可求出是哪个数;但是k为偶数时要改变输出的顺序即可。

#include <stdio.h>int main(){    int n;    while (scanf("%d",&n)!=EOF)    {        int k=1,s=0;        for(;;)        {            s+=k;            if(s>=n)            {                if(k%2) printf("TERM %d IS %d/%d\n",n,s-n+1,k-s+n);                else printf("TERM %d IS %d/%d\n",n,k-s+n,s-n+1);                break;            }            k++;        }    }    return 0;}

原创粉丝点击