标题: 塌先生2005系列问题24, 计算器
性别:未知-离线 塌鼻子先生

Rank: 4
组别 校尉
级别 奋威校尉
功绩 31
帖子 120
编号 41049
注册 2005-6-15


发表于 2005-7-9 14:49 资料 文集 短消息 只看该作者
有一台计算器,只有两个运算键,红键将给的数乘以2,黄键将给的数的最后一个数字去掉(类似键盘上的Backspace)。例如给出234,按红键得468,按黄键得23,如果开始给的数是23,为了得到数2005,至少要按多少次红键,多少次黄键?


顶部
性别:未知-离线 金圭子

白衣伯爵中大夫

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14
组别 白衣卿相
级别 征西将军
好贴 4
功绩 265
帖子 4926
编号 27961
注册 2004-12-16


发表于 2005-7-9 16:32 资料 文集 短消息 只看该作者
先是用逆推强算的,肯定不是最优解:

23*2^6=1472->147
147*2^3=1176->117
117*2^4=1872->187
187*2^9=95744->9574->957
957*2^4=15312->1531
1531*2^4=24496->2449
2449*2^3=19592->1959
1959*2^3=15672->1567
1567*2^4=25072->2507
2507*2^3=20056->2005

43,11


顶部
性别:未知-离线 loranrowe

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 奋威校尉
好贴 1
功绩 6
帖子 143
编号 17767
注册 2004-9-16


发表于 2005-7-9 17:51 资料 短消息 只看该作者
给一个计算过程(下划线表示停止参与下轮运算),每步运算结果存入set,set中已有元素不列入单步计算结果:
setp( 0):0 1
setp( 1):2
setp( 2):4
setp( 3):8
setp( 4):16
setp( 5):32 3
setp( 6):64 6
setp( 7):128 12
setp( 8):256 24 25
setp( 9):512 48 50 51 5
setp(10):1024 96 102 10 9
setp(11):2048 192 204 18 20 19
......
直到计算出2005即可,step数即按红键次数,这个这个黄键次数嘛,比较麻烦
俺没算完,谁有耐心看明白写个程序算一下吧
但愿不要超过43
顶部
性别:未知-离线 loranrowe

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 奋威校尉
好贴 1
功绩 6
帖子 143
编号 17767
注册 2004-9-16


发表于 2005-7-10 11:41 资料 短消息 只看该作者
手工算了一下
18步出现23
也就是说,最大数字不会超过2^61=2305843009213693952
hoho,正好可以在8个字节内装下
不是特别大,还是可以算的
顶部
性别:男-离线 重阳

高阳侯光禄大夫

Rank: 12Rank: 12Rank: 12
组别 翰林学士
级别 前将军
好贴 2
功绩 585
帖子 1775
编号 50
注册 2003-8-21


发表于 2005-7-10 12:02 资料 主页 文集 短消息 只看该作者
这类题目一般就是这么几种算法:
1、硬算,编程序,穷举所有的可能,得出最优解;
2、有一定规律,按步就班一定可以解出,但不是象第一种方法那样笨算的;
3、巧算,虽然此类问题没有好的算法,但对某些特例有简捷的办法;
4、撞大运,没有2、3的算法,但题中的条件恰好有较简单的解答,看运气吧。

塌鼻子先生给透个风吧,这道题是用的哪类解法?
顶部
性别:未知-离线 loranrowe

Rank: 3Rank: 3Rank: 3
组别 士兵
级别 奋威校尉
好贴 1
功绩 6
帖子 143
编号 17767
注册 2004-9-16


发表于 2005-7-11 22:11 资料 短消息 只看该作者
终于写了个程序算出来了
23 Yellow=2
2 Red^4=32
32 Yellow=3
3 Red^9 =1536
1536 Yellow=153
153 Red^17=20054016
20054016 Yellow^4=2005
总步数37,黄7,红30
很无耻吧  
不知道有没有什么好办法,可以不需要穷举的
顶部
性别:未知-离线 金圭子

白衣伯爵中大夫

Rank: 14Rank: 14Rank: 14Rank: 14Rank: 14
组别 白衣卿相
级别 征西将军
好贴 4
功绩 265
帖子 4926
编号 27961
注册 2004-12-16


发表于 2005-7-12 08:55 资料 文集 短消息 只看该作者
我当时也在那个43次以后,算了一下感觉23就咔嚓成2更接近于2005,但是当时没心情再硬算一次了…………
顶部
性别:未知-离线 315

Rank: 4
组别 士兵
级别 护军
功绩 5
帖子 473
编号 6200
注册 2004-3-23


发表于 2005-7-12 16:24 资料 短消息 只看该作者
1 : 2005
2 : 20056
3 : 10028
4 : 5014
5 : 2507
6 : 25072
7 : 12536
8 : 6268
9 : 3134
10 : 1567
11 : 15672
12 : 7836
13 : 3918
14 : 1959
15 : 19592
16 : 9796
17 : 4898
18 : 2449
19 : 24496
20 : 12248
21 : 6124
22 : 3062
23 : 1531
24 : 15312
25 : 7656
26 : 3828
27 : 1914
28 : 957
29 : 9576
30 : 4788
31 : 2394
32 : 1197
33 : 11976
34 : 5988
35 : 2994
36 : 1497
37 : 14976
38 : 7488
39 : 3744
40 : 1872
41 : 936
42 : 468
43 : 234
44 : 117
45 : 1176
46 : 588
47 : 294
48 : 147
49 : 1472
50 : 736
51 : 368
52 : 184
53 : 92
54 : 46
55 : 23
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2025-2-6 03:18
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.011436 second(s), 8 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP