高分求教数学及计算高手,求一算法的结果。

shdfl 2005-12-28 06:51:41

某算法,具体计算公式及过程不详,条件如下

该算法(至少)需要 参数A 和 参数B 进行计算,运算结果是自动将C转换成D

参数A是固定的(数制不详,但估计不是按十进制,就是换成十六进制后参与运算,多数是后者),不用手工输入。
当固定了参数B的数值后(B的属性估计与参数A差不多),输出结果就按某个固定规律进行了。
C为 1 - 50 的自然数,由另外一个程序自动生成,无法进行人工干预、控制
D的范围也是 1 - 50 ,如果D小于1或者大于50,就出错溢出了。

目前只已知下列情况:

(1)当参数A=01197862208,参数B=448651085 时,输出结果 D=C,即:1=1,2=2,3=3,......47=47,

(2)当参数A=166157312,参数B=111111111时,输出结果 D=C+8,即: 1=9,2=10,3=11,......42=50,
(3)当参数A=166157312,参数B=448650862时,输出结果 D=C+3,即: 1=4,2=5,3=6,......47=50,
(4)当参数A=166157312,参数B=448650961时,输出结果 D=C-1,即: 1=0,2=1,3=2,......47=46,
(5)当参数A=166157312,参数B=448650862时,输出结果 D=C-1,即: 1=0,2=1,3=2,......47=46,
(6)当参数A=166157312,参数B=448650970时,输出结果 D=C-1,即: 1=0,2=1,3=2,......47=46,
(7)当参数A=166157312,如果需要更多不同的 参数B 的计算结果(用作反推),俺可以继续提供。

由于C的产生是另外一个程序自动生成的,无法人工干预、控制,
因此只能通过寻找正确的参数B来实现 D=C 这个目的。

现在 参数A 固定为 166157312,也无法改变。参数B 可以任意选择。那么
只能寻找一个恰当的 参数B,使得 输出结果 D = C。[如同情况(1)]

需要解决的问题:当 参数B = ?时,输出结果 D = C。

(如果需要情况(1)里的不同的 参数B 的计算结果,俺也可以提供)



另:分数好象最多只能给出100分,若哪位高手帮俺解决,500分以上酬谢!
...全文
120 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wizardqi 2005-12-29
  • 打赏
  • 举报
回复
楼主可不可以将A=166157312,B从448650865到44851085的值对应范例帖出来?
shdfl 2005-12-28
  • 打赏
  • 举报
回复

数据补充,(顶楼原帖里的数据出现笔误,放弃,以此补充数据为准)

(1)当参数A=01197862208,参数B=448651085 时,输出结果 D=C (这个可以当作一个范本,因为已经实现D=C了)

(2)当参数A=166157312,参数B=111111111时,输出结果 D=C+8,即: 1=9,2=10,3=11,......42=50,

(3)当参数A=166157312,参数B=448650865时,输出结果 D=C-1,即: 1=0,2=1,3=2,......47=46,
(4)当参数A=166157312,参数B=448650961时,输出结果 D=C-1,即: 1=0,2=1,3=2,......47=46,
(5)当参数A=166157312,参数B=448650970时,输出结果 D=C-1,即: 1=0,2=1,3=2,......47=46,

(6)当参数A=166157312,参数B=448650850时,输出结果 D=C+9,即: 1=10,2=11,3=12,......41=50,
(7)当参数A=166157312,参数B=448650852时,输出结果 D=C+23,即: (省略,下同。)
(9)当参数A=166157312,参数B=448650864时,输出结果 D=C+19,即:
(8)当参数A=166157312,参数B=448650856时,输出结果 D=C+19,即:
(.)当参数A=166157312,参数B=448650857时,输出结果 D=C+39,即:
(.)当参数A=166157312,参数B=448650843时,输出结果 D=C+49,即:
(.)当参数A=166157312,参数B=448650849时,输出结果 D=C+31,即:
(.)当参数A=166157312,参数B=448650862时,输出结果 D=C+3,即:
(.)当参数A=166157312,参数B=448650866时,输出结果 D=C+35,即:
(.)当参数A=166157312,参数B=448651085时,输出结果 D=C+36,即:

(3)、(4)、(5)三项,虽然参数B的值不同,但结果却相同,比如(8)和(9)也是这样的情况。
可能预示着有很多的参数B可以使得 D=C,(或者是否可以理解为 D=C+0 ?)
(由参数B的不同数值,导致同样的结果)甚至可能存在着某种循环。

另一个现象是:紧接着(9)下面的那个,虽然 参数B 只递增了1,但计算结果却相差了39-19=20

另外,范例数据的最后一条,参数B与最上面的那个“范本”里的参数B,数值是一样的大小,
两者只是参数A不相同。故特别选出,或许对各位的分析有所帮助。

先加这么多,如果范例数据还不够用,尽管吩咐,俺继续添加。
78hgdong 2005-12-28
  • 打赏
  • 举报
回复
哇,等高手指点,MARK!
耙子 2005-12-28
  • 打赏
  • 举报
回复
如果是个高次函数,弄出结果就难了

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧