马克·V·沙尼

2009年2月27日

20世纪80年代中期,Mark V.Shaney向Usenet组net.singles发布了这样的消息:

我似乎很重要。对我来说,它会同意
技术洞察力是我所珍视的。因此,我没有
在这种情况下给某人的建议!

加入门萨是我对他做得更好的一件事。我穿了一条连衣裙
为期一周的一天。我比他做得更好。我一天穿一条裙子
维持2年的关系。我想知道外面有没有其他人
是否经历过这种现象
我认为这对我来说是真的。

我想这取决于你在成为某人之前的感觉
情感依恋,因此“更安全”——不参加体育赛事,
而是歌剧。

我在高中的“花童”时期,几个月后体重减轻了90磅
由于她的学术地位很高,许多人都回避了她
管。这次经历真的把他们搞砸了——如果不是他们的脑袋,
他们的膝盖。为什么一个人必须成为
男子气概。不?

他在高中时是个瘦骨嶙峋、痉挛的书呆子,我幻想着
这样的事。这一切都取决于旁观者,倾听
她周围的其他人突然发现自己陷入了困境
男人们在哪里约他们!?但这可能会导致
要么是你梦想中的人(在更多的男性中
学习工程领域的女性),男性与
女性在过去的某个地方。根据另一个人的说法。

我发现很难调和某物或某人不是
他们的了。我和那个女人有个约会。主观上,我有
本周末也有演出。

然而,谢尼并不是一个人。Shaney是贝尔实验室的三名研究人员(Bruce Ellis、Rob Pike和Don Mitchell)创建的机器人,他们分析Usenet的帖子,然后创建自己的帖子。沙尼的作品离奇、无意义,受到许多人的喜爱。

Shaney的工作方式是阅读培训文本,并将培训文本中出现的每三个单词保存在一个大表格中。然后使用马尔可夫链,从训练文本中出现的两个单词开始,重复书写三元组中的第三个单词,将输出窗口从一个单词滑动到另一个单词。该方法的妙处在于,训练文本中可以出现任意两个单词,后面可以有多个单词,生成器可以自由选择其中任何一个;因此,简短的文本片段是有意义的,但文本作为一个整体经常会从一种思路转向另一种思路。单词包括其周围的标点符号,因此句子结构以及间接的语法都内置于输出中。

编写一个实现Shaney的程序。

页:1 2

狂欢节

2009年2月24日

复活节每年在春分点后第一个满月后的第一个星期天举行。狂欢节在复活节前第七周的星期二举行。2月24日是狂欢节第个2009年,复活节在47天后的4月12日第个1989年的狂欢节是哪一天?2049年的狂欢节将在哪一天举行?

页:1 2

一个自我复制程序

2009年2月20日

编写一个不接受输入的程序,并生成自己源文本的副本作为完整的输出。

页:1 2

圆周率的数字

2009年2月20日

圆的周长与直径的比值由希腊字母pi所知的常数给出,是一个无理数(其表示形式是非终止且不重复的),其值略大于3.14159。圆周率的千分之一是多少?(计数从零开始,因此零第个pi的位数是3,pi的第四位数是5。)

页:1 2

多重住宅

2009年2月20日

贝克、库珀、弗莱彻、米勒和史密斯住在一栋只有五层楼的公寓的不同楼层。贝克不住在顶层。库珀不住在底层。弗莱彻既不住在顶层,也不住在底层。米勒住的楼层比库珀高。史密斯不住在弗莱彻家附近的一层。弗莱彻不住在库珀家附近的一层。每个人都住在哪里?

页:1 2

ROT13型

2009年2月20日

术语档案:

rot13/rot-ther'teen//n.,v./[Usenet:from `rotate alphabetter 13 places']简单的凯撒-字符加密,将每个英文字母替换为字母表上前后13位的一个,这样“The butler did it!”就变成了“Gur ohgyre qvq vg!”大多数Usenet新闻阅读和发布程序都包含rot13功能。它用于将文本封装在一个密封的包装中,读者必须选择打开包装——例如,张贴可能冒犯某些读者或破坏者的内容。rot13相对于其他N的rot(N)的一个主要优点是它是自反转的,因此可以使用相同的代码进行编码和解码。

编写一个函数,获取一个字符串并返回该字符串的ROT13版本;您可以假设字符集是ascii。“Cebtenzvat Cenkvf vf sha”是什么意思

页:1 2

约瑟夫

2009年2月19日

弗拉维乌斯·约瑟夫斯(Flavius Josephus)是一世纪著名的犹太历史学家,当时第二圣殿被摧毁。据传说,在犹太-罗马战争期间,他和四十名士兵被困在一个洞穴里,周围都是罗马人。犹太人宁死不屈,决定围成一个圈,继续围着圈,杀死剩下的第三个人,直到一个人也没有留下。约瑟夫斯在圈子里找到了安全的地方,因此活了下来。

编写函数约瑟夫斯(n个,)返回的列表n个人数,从0到n个-1,按照执行顺序第个依次是个人,唯一的幸存者是列表中的最后一个人。它的价值是什么约瑟夫(41,3)? 约瑟夫斯是在什么位置幸存下来的?

页:1 2

数独

2009年2月19日

数独游戏是一种简单而流行的娱乐方式,由九乘九的单元格组成,其中一些包含数字:

7    
  2  
     
1    
     
    6
     
  1 5
9  
2    
  4  
     
  1 8
  9  
7 5  
     
  7  
   
  7 8
5 6  
     
5    
     
    1
     
  4  
    2

挑战是用数字1到9填充空单元格,这样就不会有行、列或三乘三的子网格包含两次或多次相同的数字。

编写一个程序来解决数独游戏;你的程序可能会假设这个谜题格式很好。解决上述难题的方法是什么?

页:1 2

宾果游戏

2009年2月19日

宾果游戏是一种儿童玩的机会游戏,有时成年人玩它是为了好玩或赚钱。每个玩家都有一张数字卡,按五乘五的方格排列,第一列中有五个随机选择的数字,从1到15,第二列中有16到30,第三列中有31到45,第四列中有46到60,第五列中有61到75;中心空间是“自由”的,被认为是被占用的。然后,调用者随机调用从1到75的号码,而不进行替换,每个玩家标记相应的号码,如果该号码出现在他们的卡上,则表示该号码已被占用。第一个水平排、垂直列或沿两条主对角线中的任意一条有五个被占用数字的玩家是获胜者。

在一张卡实现宾果游戏之前,平均需要打多少次电话?在一个有500张牌在玩的大型游戏中,在任何一张牌实现宾果游戏之前,平均需要多少次呼叫?

页:1 2

埃拉托斯特尼筛

2009年2月19日

两千多年前,埃拉托斯特尼计算了地球的周长、到太阳的距离和地轴的倾斜,发展了经纬度系统,并发明了闰日,创造了一种系统的方法来枚举至今仍在使用的质数。埃拉托斯特尼出生于塞浦路斯(现利比亚),生活于公元前276年至194年,一生大部分时间都在埃及亚历山大度过,他是继罗德州阿波罗纽斯之后的第二位大图书馆馆长;他是阿基米德的好朋友。

埃拉托斯特尼筛首先列出所有达到期望最大值的数字;我们将通过计算素数到30来说明该方法:

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

现在取列表中的第一个数字2,然后每隔一个数字划掉:

2 3456789101112131415161718192021222324252627282930

(虽然可能不太明显,但数字4会从列表中划掉;在某些字体中,4的横线与删除线重合。)接下来,取列表中未划掉的下一个数字3,每隔三个数字划掉一个;其中一些已经划掉:

2 345678 9 1011121314 15 1617181920 21 2223242526 27 282930

对列表上的下一个未交叉的数字5重复上一步:

2 345678 9 1011121314 15 1617181920 21 222324 25 26 27 282930

以此类推,每次都要划掉列表中下一个未交叉数字的所有倍数。素数列表是所有未被删除的数字:

2 3 5 7 11 13 17 19 23 29

这种方法被称为筛子,因为它会扫过一系列数字,发现每一个质数都会阻止其所有倍数成为质数。这个筛子允许进行一些优化。首先,只考虑奇数,因为初始筛选将除2之外的所有偶数交叉,而2是单独处理的。第二,由于所有较小的素数都已经被筛子的前几步筛掉了,所以从被筛数的平方开始划掉;例如,筛选3从9开始,因为筛选2时已经划掉了6。第三,筛分在筛子中最大数量的平方根处停止,因为任何大于平方根的非杂质必须已经在筛子的先前水平上被划掉;因此,在上述示例中,不需要筛选素数7或任何更大的素数,因为7的平方大于30,这是列表中最大的数字。

编写一个接受单个参数的函数n个并返回小于或等于的质数列表n个使用上述优化筛选算法。将函数应用于参数15485863,并计算返回的素数。

页:1 2