数学建模社区-数学中国

标题: 帮看看这个问题,给个算法思路吧 [打印本页]

作者: candid    时间: 2004-11-28 20:57
标题: 帮看看这个问题,给个算法思路吧
<>有关整数变换问题,f(i)=3i;g(i)=i/2 (g(i)为i除2下取整)。对于给定的两个整数n,m,用最少的次数将n变换为m,如4=gfgg(15);</P>
作者: 布赖    时间: 2004-12-18 00:34
首先,n一定可变为m?
作者: fewrains    时间: 2006-1-3 01:08
<>    设初始值为N。</P># a% L) g" N" y
<>    一个数经过一次变换后,可能出现的两个值称为N的子代。如是/2得到,标记为0,如是*3得到,标记为1。</P>
; V' H) S8 f- Z! ~<>    N的子代为0,1;</P>
! U/ [! X/ q! K! C2 S/ h& K<>    N的子代的子代为00 01 10 11;</P>) b7 p& J6 Z) a  c0 ?0 q
<>    N的子代的子代的子代为000 001 010 011 100 101 110 111;</P>4 o$ `  W: M" J) k; ^" d7 H
<>    ……</P>
* T$ b; Q+ {+ d! u5 G3 ?* m9 x$ _<>    如果在前面得到的二进制数字前面加上一个数字1,再转代为十进制,那就是从2开始的自然数序列。</P>
. p6 m: C/ L9 P, d<>    然后……还有什么难的?编程吧!一个一个地计算,如果只想得到一个解,那在得到第一个等于M的后代后停止。如果想得到所有的最优解,在得到第一个等于M的后代后,设置自然数序列的上限。最后是提取解相对应的二进制数,从最左边的1右边的那个数开始,0代表/2,1代表*3。</P>
/ N/ F! ^3 t; X4 x) e' o; ?$ \<>    </P>
作者: kmpop2000    时间: 2006-11-26 16:43

作者: chj1983wd    时间: 2006-11-29 16:08
晕,没看懂二当家说的...好好消化下<div id="dictdiv" style="margin: 5px; background: yellow none repeat scroll 0%; position: absolute; left: 0pt; top: 0pt; z-index: 1000; font-family: arial; font-size: 13px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px; -moz-border-radius-bottomright: 5px; -moz-border-radius-bottomleft: 5px; opacity: 0.9; display: none;"></div><div id="dictaudio"></div>
作者: chj1983wd    时间: 2006-11-29 16:11
gfgg 确实是4哦... 为什么! 明明是*3. 是不是gf 无论怎样都可以?<br/><div id="dictdiv" style="margin: 5px; background: yellow none repeat scroll 0%; position: absolute; left: 0pt; top: 0pt; z-index: 1000; font-family: arial; font-size: 13px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px; -moz-border-radius-bottomright: 5px; -moz-border-radius-bottomleft: 5px; opacity: 0.9; display: none;"></div><div id="dictaudio"></div>
作者: chj1983wd    时间: 2006-11-29 16:33
是不是我理解错了. g( 15 ) = 7.对应二进制是 111. 而操作对应的是 0 . 怎么也不等啊~ ,望达人 KT 一下. <br/><div id="dictdiv" style="margin: 5px; background: yellow none repeat scroll 0%; position: absolute; left: 0pt; top: 0pt; z-index: 1000; font-family: arial; font-size: 13px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px; -moz-border-radius-bottomright: 5px; -moz-border-radius-bottomleft: 5px; opacity: 0.9; display: none;"></div><div id="dictaudio"></div>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5