莱沙 发表于 2008-12-31 18:44

注册机编写大赛!

新来祝贺大家新年快乐下,为了提高论坛各位的CM水平!本人就自己掏腰包举办一个注册机大赛!

题目为以下地址:http://www.52pojie.cn/thread-16081-1-1.html

霄斑竹的大作,已经有XIMO大师分析了.

评分标准:

1.先到先得;

2.能写出1~2位且能成功注册者,给以"热心参与者"奖发30吾爱币;

3.能写出3~4位的,给以"积极思考大奖"发50吾爱币;

4.能写出5位以上的,给以"天才工程师大奖"发100吾爱币;

5.外加语言特色评分,语言级别越高特色分也越高,由评审自行评定发币; :lol :lol

小黑冰 发表于 2008-12-31 19:28

sf                        :) :) :) :) :) :) :)

zapline 发表于 2008-12-31 23:50

1
122398943015986624

验证:
(1*122398943015986624)/8*2+5=30599735753996656

30599735753996656-5=30599735753996651
30599735753996651*4=122398943015986624

122398943015986624 / 2 = 61199471507993312
61199471507993312 / 2 = 3059973573996656
3059973573996656 / 2 = 15299867876998328
15299867876998328 / 2 = 7649933938499164

四组注册码:
2
61199471507993312

4
3059973573996656

8
15299867876998328

16
7649933938499164

我的伪码穷举注册机:
BEGIN
   SUM = 122398943015986624
   FOR A=1; A++;A<=61199471507993311
            B = SUM / A
            IF (Bis integer)THEN
                     PRINT    "USER:"A   "PASSWORD:"B
END

[ 本帖最后由 zapline 于 2008-12-31 23:53 编辑 ]

zapline 发表于 2008-12-31 23:56

c语言的(在网吧,没条件测试)
#include <stdio.h>
void main()
{
int sum,a,b;
sum = 122398943015986624;
for(a=1;a++;a<=61199471507993311)
    if (sum%a=0)
         printf("user:%d,password:%d",a,b)
}

killerzeno 发表于 2009-1-1 00:02

晕死啊,我刚刚学Delphi,所以写了个CM,而且是随意写了个。就被拿来做注册机编写大赛了。又不是什么牛牛CM,惭愧!Zapline大牛牛!膜拜。。。(*^__^*) 嘻嘻……。我的CM对你来说太菜了吧。 新年快乐!!!

iawen 发表于 2009-1-1 00:06

原帖由 zapline 于 2008-12-31 23:56 发表 http://www.52pojie.cn/images/common/back.gif
c语言的(在网吧,没条件测试)
#include
void main()
{
int sum,a,b;
sum = 122398943015986624;
for(a=1;a++;a

貌似这样不行的吧:
int sum,a,b;
sum = 122398943015986624;

已经明显的溢出了,编译时自动截断转换,就已经不对了!运行起来又如何??
不知道有没有超出__int64或者long long的取值范围,又double可能在精度上有损失,

实在不行,就应该用大数库了,哈

creantan 发表于 2009-1-1 00:07

Happy 牛 year......
。。。

zapline 发表于 2009-1-1 00:07

:loveliness: :'(
我的有很大的缺陷
把浮点数完全排除在外了

zapline 发表于 2009-1-1 00:15

原帖由 chenguo 于 2009-1-1 00:06 发表 http://www.52pojie.cn/images/common/back.gif


貌似这样不行的吧:
int sum,a,b;
sum = 122398943015986624;

已经明显的溢出了,编译时自动截断转换,就已经不对了!运行起来又如何??
不知道有没有超出__int64或者long long的取值范围,又double可能在 ...



呵呵 谢谢提醒!
unsigned long【int】无符号长整型 0~4294967295 也已经超过了
不知道怎么搞:'(

iawen 发表于 2009-1-1 00:18

原帖由 zapline 于 2009-1-1 00:15 发表 http://www.52pojie.cn/images/common/back.gif




呵呵 谢谢提醒!
unsigned long【int】无符号长整型 0~4294967295 也已经超过了
不知道怎么搞:'(

unsigned long long 或者__int64

#define LLONG_MAX   9223372036854775807i64       /* maximum signed long long int value */
#define LLONG_MIN   (-9223372036854775807i64 - 1)/* minimum signed long long int value */
#define ULLONG_MAX    0xffffffffffffffffui64       /* maximum unsigned long long int value */

/* minimum signed 64 bit value */
#define _I64_MIN    (-9223372036854775807i64 - 1)
/* maximum signed 64 bit value */
#define _I64_MAX      9223372036854775807i64
/* maximum unsigned 64 bit value */
#define _UI64_MAX   0xffffffffffffffffui64
页: [1] 2 3
查看完整版本: 注册机编写大赛!