片吧小说频道 > 科幻灵异 > 位面学徒 > 第26章 小说的影响(序,上)

第26章 小说的影响(序,上)(2 / 2)

苏然笑了:“其实,已经说明了很多了——小说入侵,明明是在一早就已经发生了的。”

雨晴咬了咬嘴唇:“嗯~听不明白。”

苏然深深吸了一口气:“你应当见过,无论哪里,总有一群小孩子们,整天喊着诸如‘太上老君急急如律令’或者‘乾坤借法天地无极’之类的话语吧。”

雨晴点了点头:“是啊,郑泽的那本杂志里面也写过一个喊着‘代表月亮消灭你’的很可爱的小姑娘的。”

苏然点头:“你觉得,为什么他们没有办法获取小说世界的力量?”

雨晴有些疑惑:“那时候,明明没有‘小说灵异事件’的吧?”

苏然看看雨晴,摇了摇头:“你觉得,小说灵异事件,是什么时候发生的?不要用西方那套MLE理论说是昨天发生的,这种估计肯定差太远了。”

雨晴有些惊讶,微微张开了嘴:“你的意思是——”

苏然闭上了眼睛:“或许,小说入侵现实,在很早很早之前,就开始了啊。”

————————————————————

注:关于数论的那段话我没乱写……在研究虚数之前(指的是Gauss环(又称Z[i]整环,形如a+bi,a,b是整数,i是虚数单位,其平方等于-1)),研究的内容无非整除(裴蜀(大约是Bezout吧,我已经忘记怎么拼了)定理),然后从整除引申出“余数相同”,这时候定义了一个新符号叫做mod,放在式子右边的括号里,表示式子左边这俩玩意可能并不相等,只是在除以这玩意之后余数相同,然后就是指数与原根,那是一套很神奇的概念,讲得是a的b次方模c(意思是,a的b次方除以c的余数)具有什么性质,其核心是费马(Fermat)小定理和欧拉(Eular)定理(又想吐槽Eular定理了……其实Eular定理的核心只有一句话,就是高中数学竞赛范围内只要是想不起来名字的数学定理都可以说是Eular定理^_^可能会有误伤,但命中率的确蛮高的……)

然后分析一下如何用加法和相反数和简单逻辑运算构建这个体系……

首先,不得不先说一下皮亚诺Peano公理……这个是用来对付小学生专用的……当小学生问你为什么1+1=2的时候你只需要回答由于Peano公理定义2是1的后继,然后1是最小的元素,从而根据Peano公理,2=1*(表示,1的后继)=1+1(皮亚诺公理定义,后继(“*”)的意思是,“+1”)

然后,a“等于”b可以被拆分成a“小于等于”b“和”b“小于等于”a

a<b可以拆分成a“小于等于”b“和(非(a“等于”b))

a>b可以换成b<a

于是基本的比较运算就解决了

然后直接说取余数好了:当a>b时给a赋值a+(-b);当a<0时给a赋值a+b;当前两条都不成立的时候就得到了最后的余数,最后的余数是赋值之后的a;

其中,(-b)是b的相反数。

然后是整数的正整数次方,乘方比较长:a^b定义为,c=1,当b>0时给b赋值b-1,同时给c赋值c*a,最后返回c

好了,现在的问题是,如何做乘法……

所以要做的是整数的乘法,乘法比较长:a*b定义为,c=0,当b>0时给b赋值b-1,同时给c赋值c+a,最后返回c

……大家能看出来我是直接抄的乘方……其实这些东西的原理都是一样的……

当然,写了这么多,只是证明了一件事情,就是的确可以用最基本的自然数,加减法和简单逻辑就可以完成对数论的基本结构的构建(之所以说是简单逻辑只是因为,说到底的话,只要求“逻辑”这一项就够了……加法定义为,如果a=1,b=1,那么a+b=2,如果a=1,b=2,那么a+b=3……)

但这并不意味着,只要你会加减法,知道自然数,你就会数论了……

比如,一个著名的算法叫做RSA……说的是你有两个素数p,q,然后你告诉大家一个s,要求大家在发送数据的时候发送a^s(mod(pq))(记作b)而不是a(mod(pq))

拿到数据之后,你应当计算b^t(mod(pq))以还原a(mod(pq)),在数论里有一套完整的方法(孙子定理+欧拉定理)给出t的值,但是!但是!!这套方法要求,知道p和q……这样如果你将pq的乘积告诉对方,在对方算出这玩意到底是哪两个质数的乘积(传说这需要几十年的时间……)的时候,黄花菜都凉了……

嗯,我想说的是,这套combo之中,一点都没看到我们的框架……

\u007f

写到那句“当b>0时给b赋值b-1,同时给c赋值c*a”中间的那个逗号的时候,我真想吐槽一句……

这是我作死上变异原理——哦抱歉,是作死上编译原理的时候,发现C语言里面竟然可以用逗号进行语句分割……直接把习惯打分号的我打傻了……

比如,用这玩意可以强行把两个for写成一个for……效果如下(“&&j<7”这一段其实没有必要写上去的):

for(i=1,j=2;i<5&&j<7;i=j++>5?j=2,i+1:i)printf(“%d,%d\\n“,i,j);

于是冒泡排序可以写成:

inti,j,t,s[10]={1,3,5,7,9,2,4,6,8,0};

for(i=0,j=0;i<10;i=j++>8?j=i+1:i)while(s[i]>s[j])t=s[i],s[i]=s[j],s[j]=t;

一个while(这个while的作用其实是if)管三个赋值(t=s[i],s[i]=s[j],s[j]=t)还不用大括号我也是醉了……

……半年之内我保证只要你拿着这段代码做混淆(改变量名,以及适当时候加几句“#define(空格)while(空格)if”之类的语句)之后去上机实验,弄死那群助教他们也不知道你是抄的……

当然,如果这本书火了……求千万别这样……只要班上有两个人同时使用了这段代码……助教不介意找你们聊聊人生的……

最新小说: 犟种传奇 地球上的一百亿个夜晚 影视世界诸天大佬 起源:格林神话 深空蔚蓝机甲武耀 末世多子多福:美女太多安全屋都装不下了! 奈奥斯特奥特曼 四合院我何雨柱是厨神 开局我变身刑天铠甲英雄救美 人在原神,开局拯救五夜叉