10 条题解

  • 0
    @ 2023-12-13 18:21:57

    #include <stdio.h> int main() { int m; scanf("%d",&m); while(m--) { int n,t,a,b; scanf("%d",&n); int i=1; while(i*(i+1)<2n) { i++;//如果该项大于所编码的数量 } //此时的i表示该项所在的位数 i--;//为了求t i--后的 (ii+1)/2表示该项次数前面编码的数量 t=n-(i*(i+1)/2);//t表示第n项在第i次中站的位置的位数 if((i+1)%2==0) { a=t; b=(i+1)-(t-1); } else { a=(i+1)-(t-1); b=t; } printf("%d/%d\n",a,b);

    } return 0;

    }

    信息

    ID
    155
    时间
    3000ms
    内存
    128MiB
    难度
    3
    标签
    (无)
    递交数
    361
    已通过
    191
    上传者