今天这个Cm是LV6 难度不错 因为用到了浮点数~~搞了我一天…最后LV6的最后一个算法没有完全逆出来!
/*************************************************
/********************************************************
算法中带有严重缺憾,估计是浮点运算不过关的缘故!要好好补补浮点算法了!~
for (szNumber1=0;szNumber1<10;szNumber1++)
{
if (szList[0]>20)
{
break;
}
szList[0]=szNumber1;
for (szNumber2=0;szNumber2<10;szNumber2++)
{
szList[1]=szNumber2;
for (szNumber3=0;szNumber3<10;szNumber3++)
{
szList[2]=szNumber3;
for (szNumber4=0;szNumber4<10;szNumber4++)
{
szList[3]=szNumber4;
for (szNumber5=0;szNumber5<10;szNumber5++)
{
szList[4]=szNumber5;
szSum[1]=szList[1];//*szList[1]*szList[1];
szSum[1]*=szList[1];
szSum[1]*=szList[1];
szSum[1]+=szA;//5
szSum[1]=sqrt(szSum[1]);
szSum[1]=cos(szSum[1]);
szSum[0]=szList[0]+1;
szSum[0]=-sqrt(szSum[0]);
szSumEnd=szSum[0]+szSum[1];
szSum[2]=szList[2]*szC+1;//3
szAAA=szSum[2];
//szSum[2]=log(szSum[2])*log(2);
__asm
{
fld szAAA
fldln2
fxch st(1)
fyl2x
fstp szAAA
}
szSum[2]=szAAA;
szSumEnd+=szSum[2];
szSum[3]=szList[3]+2;
szSum[3]=sqrt(szSum[3]);
szSumEnd=szSum[3]-szSumEnd;
szSum[4]=szList[4]*szC;//3.
szSum[4] /=szD;//2.
szSumEnd+=szSum[4];
szSumEnd+=szMin;
szSumEnd*=szMax;
//***********************************************
//***********************************************
szSumList=szSumEnd;
if (szSumEnd-szSumList>=0.5)
{
szSumList+=1;
}
//******************************************************
ChechBox解图:
DownMe:KeyGen
PS:C算法和DASM的一样..但是运行起来有算法结果不一样…估计是那里的0.001值漏了…浮点编程硬伤.
