持之以恒_fighting

工欲善其事,必先利其器。

有趣的数

有趣的数 nyoj 85

时间限制:3000 ms  |  内存限制:65535 KB
难度:2
描述

把分数按下面的办法排成一个数表。

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

2/1 2/2 2/3....

3/1 3/2 ....

4/1.....
.........

我们以z字型方法给上表的每项编号。特定方法:第一项是1/1,然后是1/2、2/1、3/1、2/2、1/3、1/4、2/3……。编程输入项号N(1<=N<=100000),输出表中第N项。

输入
第一行有一个整数m(0<m<=10),表示有m组测试数据;
随后有m行,每行有一个整数N;
输出
输出表中第N项
样例输入
4
3
14
7
12345
样例输出
2/1
2/4
1/4
59/99


把所给的数表 中的每一个式子,转化成一个三角图形形式看,找规律。

例如:                                          1/1                                       第一行            一个                                   奇数行 左 --->> 右

                                            2/1                1/2                            第二行          二个                                    偶数行   右 ---->> 左

                                     3/1            2/2              1/3                    第三行          三个

                            4/1         3/2                   2/3             1/4               依次类推。。。。。。。。。。。。。

                   . .. . .. .............................................................  等等




<span style="font-family:SimSun;font-size:18px;">#include <stdio.h>
int main()
{
    int t,n,m,sum;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        m=1;
        sum = 0;
        while(1)
        {
            sum += m;
            if(sum>=n)
            {
                if(m%2!=0) //判断第m行是 否 为  奇数行
                {
                    printf("%d/%d\n",sum-n+1 ,m-(sum-n));
                    break;
                }
                else
                {
                    printf("%d/%d\n",m-(sum-n),sum-n+1);
                    break;
                }
            }
            m++;
        }
    }
    return 0;
}</span>



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huangshuai147/article/details/46821465
个人分类: 各种简单题
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

有趣的数

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭