首页
社区
课程
招聘
[求助]以下代码如何用C语言实现呢?
发表于: 2005-4-29 08:47 4880

[求助]以下代码如何用C语言实现呢?

2005-4-29 08:47
4880
请教:
    将“5652”与“BD7C”相加得“13CE”,再与“CA22”异或得“D9EC”,
    然后“2722”与“D9EC”相加得“010E”,与“BD7C”异或得“BC72”

其中“5652”和“2722”是固定的,“DB7C”和“CA22”是随机数,“D9EC”和“BC72”是结果,都是十六进制表示。

如果要求得到的结果“D9EC”的前2位是47,即47**格式,结果“BC72”的前2位是26,即26**格式,求随机数的组合,该如何用C语言实现呢?望各位DX赐教,谢谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你是要实现这个算法吗?
2005-4-29 10:20
0
雪    币: 236
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
如果你不会用vc那么你就直接把这个算法的汇编指令add,xor输入在__asm{  }里面就可以了。
2005-4-29 10:27
0
雪    币: 208
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
我只是想知道如何用C语言来实现上面的步骤
给个大体思路也可以
2005-4-29 10:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
也就是算法罗!很简单的阿
2005-4-29 11:42
0
雪    币: 208
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
对你来说很简单,对我可不会,能说说怎么做吗?谢谢!
2005-4-29 13:40
0
雪    币: 389
活跃值: (912)
能力值: ( LV9,RANK:770 )
在线值:
发帖
回帖
粉丝
7
你说什么意思没懂
随机函数是
srand((unsigned int)time(NULL));
for(int i=0; i < 10; ++i)
              rand()
2005-4-29 14:41
0
雪    币: 208
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
该怎么说呢?

就是0x5652+参数1=某数1,再与参数2异或=结果1,
将0x2722+结果1=某数2,再与参数1异或=结果2

其中参数1、参数2、某数1、某数2、结果1、结果2都是四位16进制数,某数1、某数2忽略最高位的进位,要求:结果1的前两位是0x47,即0x47**格式,结果2的前两位是0x26,即0x26**格式,求参数1、参数2

不知道这次说的明白吧?
2005-4-29 16:29
0
雪    币: 145
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
neo
9
非常简单
根据结果1和0x2722可以得出某数2是0x6E**或者0x6F**
这样根据结果2就可以得出参数1是0x48**或者0x49**
同样的方法可以算出某数1可能是0x9E**或0x9F**或0xA0**
参数2可能是0xD9**或0xD8**或0xE7**
基本上参数1和参数2的高字节是固定的,低字节可以随意
这样够清楚了吧,C代码就不写了
2005-4-29 17:19
0
游客
登录 | 注册 方可回帖
返回
//