| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2270 人关注过本帖
标题:确定一个数在一个平面中的位置
只看楼主 加入收藏
無邪的睡脸
Rank: 2
等 级:等待验证会员
威 望:1
帖 子:344
专家分:13
注 册:2007-9-11
收藏
得分:0 
回复 9# 的帖子
简单是简单,想的也简单!不过这效率也低的可怜!问你个问题:如要要你找1000的坐标,你会从0开始找吗?你都不会,为什么要计算机这样做!
2008-03-05 09:08
skrot
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-2-16
收藏
得分:0 
同意楼上观点,我也为我自己的算法的效率低而烦恼,也想弄个更好点的,
但现在才却觉得自己数学学的好烂,鄙视自己一秒钟~~~~~
看了楼上和lonmaor(8#)的就更有此感
呵呵,我会加油学的,把不足的地方全力补好,

心中明了路向何方,前路自有一番风光。
     skroty@.cn
2008-03-05 11:14
hero2007
Rank: 1
来 自:湖北武汉
等 级:新手上路
威 望:1
帖 子:130
专家分:0
注 册:2007-3-22
收藏
得分:0 
和"飞燕之家在线测评论坛"上的类似,不过她的难些.


来源:(飞燕之家在线测评论坛OnlineJudge|编程学习论坛)http://

题目描述:
把自然数按如下方式排列:
1 3 6 10 ....
2 5 9
4 8
7 ....
这样每一个自然数都和一个整点坐标一一对应,
如9的坐标就是(3,2)

输入:
多组测试数据,每组一行,输入坐标或者一个自然数,
你应该假设所有输入和输出的数均在32bit有符号整数的范围内
且同时只会输入正整数
以EOF标志结束程序

输出:
当输入的是坐标的时候,输出对应的自然数,
当输入的是自然数的时候,输出对应的坐标。

样例输入:
3 2
9

样例输出:
9
3 2

难度:for beginner
来源:(飞燕之家在线测评论坛OnlineJudge|编程学习论坛)http://

昨天做了2个多小时...
2008-03-06 12:20
無邪的睡脸
Rank: 2
等 级:等待验证会员
威 望:1
帖 子:344
专家分:13
注 册:2007-9-11
收藏
得分:0 
回复 13# 的帖子
多点步骤而已!按我的方法,前面已经列出!
如果已知坐标求数字(a,b)求数字也能直接写出来。看看(1,a+b-1)和(a,b)有什么关系!(1,a+b-1)是能直接求出的!
2008-03-06 13:29
skrot
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2008-2-16
收藏
得分:0 
帮同学发个,这是他的代码,算法和无邪的很近
#include <stdio.h>
#include <math.h>
main()
{
    unsigned long x,n,a,b;
loop:
    printf("请输入要查的数据:\n   输入0退出:\n");
    scanf("%ld",&x);
    if (x==0)
        exit();
    n=(int)(1+sqrt(1+8*x))/2;
    printf("          %lu在第%d行\n",x,n); /*第几行*/
    a=(n*(n-1))/2;
    b=x-a;
    printf("                %d在坐标纸中的位置是(%lu,%lu)\n\n",x,n-b-1,b);
    goto loop;
}

心中明了路向何方,前路自有一番风光。
     skroty@.cn
2008-03-09 08:58
快速回复:确定一个数在一个平面中的位置
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039675 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved