首页
社区
课程
招聘
[求助]好难的一个算法,我已经搞到崩溃了
发表于: 2014-12-7 20:42 10468

[求助]好难的一个算法,我已经搞到崩溃了

2014-12-7 20:42
10468
哪位大神帮我看下A值和B值的关系呢,目前我只能看出A值的(奇数*10)+(偶数*9),就是:
(A值/2)*9 +(A值-A值/2)*10 = B值。
前面是对的,但是越往后面误差越大,找不出规律呢。
这是一个程序的算法,A值是我输入的数字,B值是程序返回的数字,谁能帮我看下它是怎么运算的吗?



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (21)
雪    币: 41
活跃值: (237)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
图挂了。。重新传吧
2014-12-7 20:53
0
雪    币: 9
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
没读过书的路过
2014-12-7 20:58
0
雪    币: 80
活跃值: (109)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
在新标签打开图片,再在新标签打开图片搞定~
2014-12-7 22:10
0
雪    币: 40
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
matlab曲线拟合,应该能搞定
2014-12-8 08:57
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
第45号应该是436吧
2014-12-8 09:17
0
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
程序在哪里,这好像是逆向板块,你这是猜数字游戏吗
2014-12-8 10:16
0
雪    币: 191
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
435没错的我看像是 奇数乘10+偶数乘9+(A值/16),但是“A值/16”这里的16应该有个循环递增或递减,每次循环计算出的商也都被加上去,只是这个循环递增或递减的16变化规律我找不出, 另外它每隔一段数字会出现一个不遵循以上规律的结果,应该还有另外一个运算在干扰这个规律。
2014-12-8 10:53
0
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
能不能多输出一些结果,作参考
2014-12-8 11:02
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼主多发些数据吧,前面的B比10倍的A小,后面就比10倍的A大了。看来是10A减掉什么然后加上什么。猜想可能是和A值相关的三个数列的和差。
2014-12-8 11:53
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
除了LZ这个公式之外应该还有一个函数,然后值的整数部分加上去
那个函数有些像二次函数......
2014-12-8 11:56
0
雪    币: 191
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
是的,除了奇数偶数那个函数以外,它应该还加上了一个A值除以一个数字的商(取整),并且这里的除法运算应该是一个循环,每次循环的时候这个除数都是在变化的(递增或递减),这个数字我初步估计第一次循环时应该是16,重复循环的时候怎么变化我目前还没看出来呢,大家帮我看看呢。
2014-12-8 12:30
0
雪    币: 35
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
遇事不解逆一逆
2014-12-8 23:39
0
雪    币: 118
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
ls正解。。
2014-12-9 00:00
0
雪    币: 191
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
请大师点化
2014-12-9 00:35
0
雪    币: 4482
活跃值: (4463)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
这个肯定要逆向程序的吧...

X = 16 ... X=8

B = 10 + (A - 1) × 10 - (A / 2) + (A / X )

X=16 是因为 1-15 的值公式完全正确,  而16却多进了一位 ... 因此 + 上了 A / 16

但是  16 - 24 又多进了一位  因此 X = 8   

可以看出,这应该不是一个公式. 而是一个算法.得用变量

1 | 10 | 0
2 | 19 | 0
3 | 29 | 0
4 | 38 | 0
5 | 48 | 0
6 | 57 | 0
7 | 67 | 0
8 | 76 | 0
9 | 86 | 0
10 | 95 | 0
11 | 105 | 0
12 | 114 | 0
13 | 124 | 0
14 | 133 | 0
15 | 143 | 0

=====进位(16)=====

16 | 153 | 1
17 | 163 | 1
18 | 172 | 1
19 | 182 | 1
20 | 191 | 1
21 | 201 | 1
22 | 210 | 1
23 | 220 | 1

======进位(8)======

24 | 230 | 2
2014-12-9 00:54
0
雪    币: 200
活跃值: (38)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
17
建议多一些数据
2014-12-9 02:17
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
有一股暗能量在作怪,嘿嘿
2014-12-31 16:13
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
有那么多的数据,应该可以直接拟合出方程嘛。matlab嫌麻烦,可以用1st、
2014-12-31 16:57
0
雪    币: 306
活跃值: (85)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
20
n=2*k  ---k*19
n=2*k+1  ---k*19+10
2014-12-31 17:44
0
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
应该是n*10-f(n),f(n)=1,2,3,4,5逐步递增的,你再仔细算一下f(n)吧
f(n)和2的幂或者对数有关。
2014-12-31 19:27
0
雪    币: 223
活跃值: (322)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
B=A*9+(A+1)/2+(A/16)^2
2015-1-2 16:38
0
游客
登录 | 注册 方可回帖
返回
//