关闭

有趣的数

137人阅读 评论(0) 收藏 举报
分类:

有趣的数 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>



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:42384次
    • 积分:2169
    • 等级:
    • 排名:第18503名
    • 原创:179篇
    • 转载:17篇
    • 译文:0篇
    • 评论:12条