首页
社区
课程
招聘
[原创]由一道小学数学题想到的CrackMe,嘿嘿
发表于: 2009-1-29 21:57 11031

[原创]由一道小学数学题想到的CrackMe,嘿嘿

2009-1-29 21:57
11031

  大家来研究研究,写出注册算法的才算过,直接暴破应该很简单,呵呵!只是一道小学数学题。软件没加壳没反破解手段,欢迎大学来做小学数学题


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (26)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
nvr
2
先支持一下!!!
2009-1-29 22:50
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
3
现在的小学生太强了
2009-1-29 23:25
0
雪    币: 233
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
必须为1~9的数字,即在1~9中选不同的5个数作为用户名,剩下不同的四个数做注册码。
当ASCII字符值转换为数值后,它们满足下面关系:
(name[0]*1000+name[1]*100+name[2]*10+name[3])*name[4]
=
code[0]*1000+code[1]*100+code[2]*10+code[3]
2009-1-29 23:54
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
5
17384
6952

-------------

19634
7852
2009-1-30 00:17
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
6
现在的小学生这么厉害,我看了半天,也只有穷举一招。

请将1-9填入下表使等式成立:
  ─  ─  ─  ─        ─        ─  ─  ─  ─
│  │  │  │  │ × │  │ = │  │  │  │  │
  ─  ─  ─  ─        ─        ─  ─  ─  ─
2009-1-30 00:40
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
7
是小学数学还是计算机写作?
这真的可以算出来吗?
2009-1-30 00:46
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
8
反正我呆呆的看了一个小时也无从入手
sessiondiy是怎么算出来的,穷举?
2009-1-30 00:47
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
9
yes
因为我想不出有什么方法能算出 a*b=c
我是有先过滤掉总合非45的啦.
后来发现这数小, 过不过滤都没差别
2009-1-30 00:49
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
10
再努力想一会,总得争取小学毕业,不知道睡觉前能不能毕业
2009-1-30 00:56
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
11
怕你被忽悠了
刚下载时Google了很久眼睛都花了
也没见到什么算法
2009-1-30 01:02
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
12
呵呵,高手真多啊,的确是这样一道题,我也是用穷举法做出来的,于是想让大家也来做一做!
2009-1-30 09:48
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
穷举加减支,减减的也就没多少情况了
2009-1-30 10:01
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
14
其实,我小学真的没毕业
2009-1-30 10:10
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
15
下面是我对这道题做出的解法,呵呵,有两组解
void mycalc()
{
        int a,b,c,d,e,f,g,h,i,x,y,z;
        CString s,s1;
        for (a=1;a<=9;a++)
        {
                for (b=1;b<=9;b++)
                {
                        if (b!=a)
                        {
                                for(c=1;c<=9;c++)
                                {
                                        if (c!=b && c!=a)
                                        {
                                                for (d = 1;d<=9;d++)
                                                {
                                                        if (d!=c && d!=b && d!=a)
                                                        {
                                                                x=a*1000+b*100+c*10+d;
                                                                for (e=1; e<= 9;e++)
                                                                {
                                                                        if (e!=d && e!=c && e!=b && e!=a)
                                                                        {
                                                                                y=e;
                                                                                for (f=1;f<=9;f++)
                                                                                {
                                                                                        if (f!=e && f!=d && f!=c && f!=b && f!=a)
                                                                                        {
                                                                                                for (g=1;g<=9;g++)
                                                                                                {
                                                                                                        if (g!=f && g!=e && g!=d && g!=c && g!=b && g!=a)
                                                                                                        {
                                                                                                                for (h=1; h<=9 ;h++)
                                                                                                                {
                                                                                                                        if (h!=g && h!=f && h!=e && h!=d && h!=c && h!=b && h!=a)
                                                                                                                        {
                                                                                                                                for (i=1;i<=9;i++)
                                                                                                                                {
                                                                                                                                        if (i!=h && i!=g && i!=f && i!=e && i!=d && i!=c && i!=b && i!=a)
                                                                                                                                        {
                                                                                                                                                z=f*1000+g*100+h*10+i;
                                                                                                                                                if (x*y==z)
                                                                                                                                                {
                                                                                                                                                        s.Format("%d*%d=%d\r\n",x,y,z);
                                                                                                                                                        s1+=s;
                                                                                                                                                }
                                                                                                                                        }
                                                                                                                                }
                                                                                                                        }
                                                                                                                }
                                                                                                        }
                                                                                                }
                                                                                        }
                                                                                }
                                                                        }
                                                                }
                                                        }
                                                }
                                        }
                                }
                        }               
                }
        }
        AfxMessageBox(s1);
}
2009-1-30 10:30
0
雪    币: 1355
活跃值: (339)
能力值: ( LV13,RANK:920 )
在线值:
发帖
回帖
粉丝
16
类似于:

用1到9九个数字编成一道两位数乘三位数等于四位数的乘法(数字不重复)

设这个算式为:
     A B C
  ×    D E
——————
     *  *  *
*  *  *
——————
  F  G  H  I

1、两个因数中的个位都不能是5和1;
2、积是四位数,所以D乘ABC不能进位;
3、可以确定ACDE的取值范围不能是6、7、8、9,否则DE取最小16A取最小7那么16× 700=11200是五位数,所以ACDE的取值范围是:1、2、3、4,
3、AE不能同时是3和4,DE先从取最小的值12,AC取4和3,则出现算式:
4B3× 12
4、尝试可得   483×12=5796   符合条件。
2009-1-30 17:04
0
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
17
高手啊,我遇到这样的题都是只有用穷举解决的,没想到还能进行推理,厉害
2009-1-30 20:13
0
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
三年级的奥数题
2009-1-30 20:34
0
雪    币: 440
活跃值: (87)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
19
有点意思。呵呵!
2009-1-31 21:04
0
雪    币: 440
活跃值: (87)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
20
我也发个visual C++源码:

// ???? * ? = ????
#include <iostream>
using namespace std;

int main()
{
        int qq[10],a,b,c;
        for (a=1234; a<9877; a++)
        {
                for (b=1; b<10; b++)
                {
                        c = a * b;
                        if (c>9999)
                                break;
                        for (int i=0; i<10; i++)
                                qq[i] = 0;
                        i = a;
                        qq[i%10]++;
                        i /= 10;
                        qq[i%10]++;
                        i /= 10;
                        qq[i%10]++;
                        i /= 10;
                        qq[i]++;

                        qq++;

                        i = c;
                        qq[i%10]++;
                        i /= 10;
                        qq[i%10]++;
                        i /= 10;
                        qq[i%10]++;
                        i /= 10;
                        qq[i]++;

                        bool flag=true;
                        if (qq[0]!=0)
                        {
                                flag=false;
                                goto down;
                        }
                        for (i=1; i<10; i++)
                        {
                                if (qq[i]!=1)
                                        break;
                        }
                        if (i!=10)
                                flag=false;
down:
                        if (flag == true)
                        {
                                cout<<a<<"*"<<b<<"="<<c<<endl;
                        }
                }
        }
        return 0;
}

输出:
1738*4=6952
1963*4=7852
Press any key to continue
答案应该就只有这两个了。O(∩_∩)O~
2009-2-6 15:04
0
雪    币: 257
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
我也来研究研究,总看别人弄算法,心里痒啊
2009-2-14 11:34
0
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
我还是回炉重造算了
2009-2-15 07:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
nb的小学啊
2009-2-15 18:45
0
雪    币: 168
活跃值: (823)
能力值: ( LV10,RANK:173 )
在线值:
发帖
回帖
粉丝
24
用STL中的next_permutation函数(生成排列),因为数字长度只有9,所以效率还可以。
2014-8-16 23:08
0
雪    币: 4938
活跃值: (977)
能力值: ( LV9,RANK:175 )
在线值:
发帖
回帖
粉丝
25
好。。。长。。看来我小学还没毕业
2014-11-30 15:21
0
游客
登录 | 注册 方可回帖
返回
//