| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 760 人关注过本帖
标题:探讨一个ACM的题目
只看楼主 加入收藏
飘零的叶子
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-4-3
收藏
 问题点数:0 回复次数:9 
探讨一个ACM的题目

探讨一个ACM的题目

从1开始

有类似序列
1234567891011121314……

一个数字字符占一个位置


1[1] 2[2] 3[3] ……9[9] 1[10] 0[11] 1[12] 2[13]…… 中括号表示数字占的位置

以此类推
编一个程序能输出要求位置的数字
例 第3个位置是3 第12个位置是1等

先算一个10的100次方的那个位置上的数是多少

要求内存不超过10000K 时间自输入数据到得到结果不超1秒

大家有什么好的数据结构和算法

[此贴子已经被作者于2007-5-11 13:04:33编辑过]

搜索更多相关主题的帖子: ACM 探讨 
2007-05-06 22:39
huochai2008
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-5-6
收藏
得分:0 

这个 很简单 自己想象吧,主要的式子就一个 所有代码在一起不超过 10行(包括。。)

2007-05-08 13:17
飘零的叶子
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-4-3
收藏
得分:0 

能提点提点吗
感觉没那么简单哈

2007-05-10 18:13
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 
我怎么觉得用两个for循环就可以做了

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-05-10 20:21
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 
你那位置肯定要有限制塞..
要不我输入1000000000000000000000000000000000

你叫怎么算

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-05-10 20:22
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 

原来循环都可以不用....


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-05-10 20:50
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 

#include <stdio.h>
#include <dos.h>

int main(void)
{
int num;
int leave[3]={0};
scanf("%d",&num);
if(num<10)
printf("%d",num);
else if(num<210)
{num-=10;
leave[0]=num/20+1;
leave[1]=(num%20)/2;
if((num%20)%2) printf("%d",leave[1]);
else printf("%d",leave[0]);
}
else if(num<3210)
{num-=210;
leave[0]=num/300+1;
leave[1]=(num%300)/30;
leave[2]=(num%30)/3;
if((num%30)%3==2) printf("%d",leave[2]);
else if((num%30)%3==1) printf("%d",leave[1]);
else printf("%d",leave[0]);
}
else printf("defult");
getch();

}

简易的写了点,没用任何算法知识...
虽然程序不怎么样..


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-05-10 21:45
飘零的叶子
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-4-3
收藏
得分:0 

谢谢版主提点
我忘了补充了 就是要知道第10的一百次方的位置的数是多少
这时就要好的算法了

还需要高手提点

2007-05-11 13:08
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
该题有时间复杂度为 log(N)的算法.

My BlogClick Me
2007-05-11 18:07
飘零的叶子
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-4-3
收藏
得分:0 

请9楼的版主提点一下
本人能力有限想不出那么精简的算法
谢谢

2007-05-11 19:35
快速回复:探讨一个ACM的题目
数据加载中...
 
   



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

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