编程拼图和代码高尔夫

编程益智爱好者和代码高尔夫球手的问答

30
打印所有字母数字字符加下划线
编写一个程序或函数,该程序或函数以任意顺序打印或返回字母数字字符和下划线的字符串。准确地说,以下字符需要输出,并没有更多: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_ 打印到标准输出时,允许在输出后添加可选的尾随换行符。 不允许包含9个或更多上述字符的内置常量。 以字节为单位的最短代码获胜。 这是一个非常简单的挑战,尽管如此,我相信它将产生一些有趣的答案。 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以将旧分数保留在标题中,方法是将它们打掉。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # Perl, 43 + 2 (-p flag) = 45 bytes 您还可以将语言名称设置为链接,然后该链接将显示在页首横幅代码段中: # [><>](http://esolangs.org/wiki/Fish), 121 bytes 显示代码段 var QUESTION_ID=85666,OVERRIDE_USER=4162;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var …

30
和的平方差
求和与平方和之差。 这是数学表达式: (∑ n )2− ∑ n2(∑n)2−∑n2\left(\sum n\right)^2-\sum n^2 您的程序/方法应采用两个输入,这是范围的上限和下限,包括上限和下限。限制将是大于0的整数。 您的程序/方法应返回答案。 您可以使用任何基准,但是请在答案中说明使用的基准。 测试案例(基础10) 5,9 970 91,123 12087152 1,10 2640 这是通常的代码高尔夫球,因此答案越短越好。

28
利兰数字
给定自然数n,返回n第Leyland数。 利兰数 莱兰数是k形式的正整数 k = x^y + y^x 其中x,y,整数严格大于1。 它们按升序枚举。 编辑: @DigitalTrauma建议我包括以下“定义”: 试想一下,我们扔x^y+y^x在一个袋子的所有可能值x和y,然后在副本中避免抛出。然后,我们对那个袋子进行分类。排序的袋子是我们的顺序。 细节 您可以使用最适合您的索引(基于0或1)。 您的程序必须至少能够输出小于有符号32位整数最大值的所有Leyland数字。(低于此限制的最后一个Leyland数1996813914为index 82。) 测试用例 前几个术语如下: 8, 17, 32, 54, 57, 100, 145, 177, 320, 368, 512, 593, 945, 1124 OEIS中的A076980,但第一个条目除外。请注意,由于该额外的第一项,OEIS上的索引移动了一个。 可以在OEIS b文件中找到更多内容

30
生成100个Java Tuple类
编写一个脚本,将其写到标准输出或您的语言的等效输出中,以以下内容开头的100行Java代码: class Tuple1 {public Object _0;} class Tuple2 {public Object _0,_1;} class Tuple3 {public Object _0,_1,_2;} class Tuple4 {public Object _0,_1,_2,_3;} class Tuple5 {public Object _0,_1,_2,_3,_4;} class Tuple6 {public Object _0,_1,_2,_3,_4,_5;} class Tuple7 {public Object _0,_1,_2,_3,_4,_5,_6;} class Tuple8 {public Object _0,_1,_2,_3,_4,_5,_6,_7;} class Tuple9 {public Object _0,_1,_2,_3,_4,_5,_6,_7,_8;} class Tuple10 {public Object …

5
世界大披萨
您是一位才华横溢的年轻厨师,您刚刚在世界上最负盛名的印度餐厅担任过副厨师长。您几乎没有准备印度美食的经验,但是您下定决心,因此着手证明自己。您决定成为领先的dosa专家。为此,您不仅必须掌握dosas的创建,而且还必须能够将它们缩放到任意大小。 您会发现Dosa面糊有希望的配方: 1杯饭 1杯ukda chawal 1/2杯乌拉尔·达尔 1/4杯poha 1/4茶匙methi种子 盐调味 需要的水 这将使dosa的长度约为1/2米。 挑战 编写一个程序或函数,该程序或函数将告诉餐厅工作人员从给定食谱的整数倍中制作一个披萨的确切条件。厨房空间狭窄,因此您希望代码尽可能短。以最短的代码为准,并联系更早的职位。 量匙和量杯具有以下标准尺寸:1 / 4、1 / 3、1 / 2、2 / 3、3 / 4和1。为避免激怒厨房工作人员,必须以最大单位报告测量结果。该数字只能用标准尺寸写成混合数。 根据以下约定,测量结果会传播到更大的尺寸: 3茶匙== 1汤匙 4汤匙== 1/4杯 因此,对于12的倍数,1/4 tsp methi种子变为1 tbsp。但是,对于13的倍数,它变为3 1/4 tsp。否则,它将不会以标准尺寸表示。 服务员必须能够将dosa抬到桌子上。为确保dosa不会在运输过程中中断,请指示他们将dosa随身携带。每个人最多可以携带一米的dosa。因此,对于单一或双重配方,只需一个人即可携带。如果将服务员切成小块,效率会降低,因此始终需要整数个服务员。 输入值 通过STDIN(或最接近的替代方法),命令行参数或函数参数获取正整数。此数字决定配方的缩放比例,并且可以小至1但不大于2 32 -1。它可以是该范围内的任何整数。 输出量 打印到STDOUT(或最接近的替代品)的列表是根据输入的比例以及随身携带dosa所需的服务员数量缩放的。成分必须按照上面给出的顺序和下面给出的格式列出。 例子 输入: 2 输出: 2 cups rice 2 …

30
输出qwerty键盘
给定一个字符,输出(到屏幕)该字符之后的整个qwerty键盘布局(带有空格和换行符)。这些例子很清楚。 输入1 f 输出1 g h j k l z x c v b n m 输入2 q 输出2 w e r t y u i o p a s d f g h j k l z x c v b n m 输入3 m 输出3 (程序终止而没有输出) 输入4 l …

30
蛋糕切割比赛
这是我的17岁生日,您被邀请参加我的聚会! 和往常一样,聚会上会有蛋糕。 一个蛋糕 而且您需要尽可能多的东西。 因为这是一场公平的聚会,所以我们每个人都会说我们要多少蛋糕,而说最少蛋糕的人会得到。然后其他所有人都可以重复该过程,直到蛋糕消失了。 挑战 通过命令行参数给定形式的输入total-degrees degrees-left total-people people-left,输出到标准输出integer-bid-in-degrees。 如果您的出价最低,那么您将获得该蛋糕的金额,并可以进行一轮回合。 如果您的出价不是最低的,您的机器人就可以对剩余的蛋糕进行出价。 在最低出价相同的情况下,将随机选择被撤职的人。 在回合结束时,一旦所有蛋糕都消失了,或者没有人可以竞标,蛋糕最多的人将获胜! 如果在回合结束时两个人有相同大小的最大筹码,则从抽奖条目中随机选择获胜者。 游戏玩法 将进行17轮比赛,总体获胜者将是总体上获胜最多的作品。 在平局的情况下,将进行回合,直到有明确的获胜者为止。 每天,我都会更新当前分数,以便人们可以升级其条目。 投稿 您应该将条目写为 机器人名称,语言 Insert Code Here 说明/随机的东西在这里 如果您的条目未采用这种格式设置,则控制器将无法运行您的条目。如果我发现您输入的内容已发生这种情况,我会在评论中通知您,和/或将答案编辑为正确的格式。 您的条目和文件存储 您的漫游器可能会将文件存储在./data/目录中,而不能在其他地方存储文件。 不需要,但请将您的文件存储为 botname* 如果botname不是您的条目名称,则不能以这种格式写文件。 这意味着您可以覆盖发现的其他未以这种格式显示的文件。您不应该故意这样做,请运动。 您的漫游器不得假定其所需的文件存在,但可以假定./data/存在。 这是因为我偶尔会擦拭./data目录,因此在回合实际开始时会执行此操作。(但不在他们之间) 您的漫游器可能根本不会删除文件 您的漫游器仅允许读取目录中的./data/文件 这意味着您可以查看其他条目文件 结果: 米克赢得了比赛!做得好@ Cabbie407 现在,获取一些随机统计信息: 每个机器人进入的位置列表:(对出现在此列表中的任何机器人都做得很好,您至少进入了前5名!) 米克,米克,精神病,精神病,米克,精神病,精神病,米克,米克,米克,俏皮,米克,Givemethecake,Givemethecake,Givemethecake,Givemethecake,Meek,Eidetic Eidetic,Eidetic,Meek,AlCakeSurfer,Eidetic,AlCakeSurfer,Meek,MyFairPlusAThird,Eidetic,Eidetic,Eidetic,Eidetic,MyFairPlusAThird,MyFairPlusAThird,Meek,MyFairPlusAThird,AlCakeSurfer Reallythecake,AlCakeSurfer,AlCakeSurfer,Meek,AlCakeSurfer,Meek,AlCakeSurfer,AlCakeSurfer,Reallythecake,AlCakeSurfer,Meek,MyFairPlusAThird,Eidetic,Eidetic,Eidetic,Eidetic,Reallythecake AlCakeSurfer,Reallythecake,MyFairPlusAThird,MyFairPlusAThird,MyFairPlusAThird,MyFairPlusAThird,MyFairPlusAThird,Eidetic,AlCakeSurfer,MyFairPlusAThird,MyFairPlusAThird,Relinquisher,RelinquishersPlus,帐单,账单, 法案,MyFairPlusAThird,法案,法案,法案,法案,Relinquisher,法案,MyFairPlusAThird,Relinquisher,法案,Reallythecake,法案,ALittleOffTheTop,ALittleOffTheTop,法案,法案 可以在此处找到运行时彗星的完整日志文件。抱歉,格式更改尚需时日。 我将不再运行竞赛,如果您想发布更多条目,欢迎这样做,可以在我的github仓库中找到该竞赛的控制器。

5
克服集群规模
厌倦了闪存的可靠性,您决定将所有程序存储在这些旧的1,440 KiB软盘之一中。但是,即使复制不到3,000个程序,磁盘也已满。那怎么可能呢?就像您一样,精通代码高尔夫球技术,大多数程序甚至都没有100字节长,因此应该留有足够的空间... 在“超级用户”上查询该文件后,您发现文件系统的群集大小使您感到困惑,这是FAT12设计人员的恶作剧,使您的软盘中的大部分未被使用,并迫使您购买超出实际需要的容量。 买更多的软盘?决不!如果我们仅将多个程序保存在一个文件中,则群集大小将不再是一个问题,这是可能的,因为对于相同的源代码,不同的编译器/解释器的行为将有所不同。 任务 编写一个适合单个群集(小于或等于512个字节)的多语种,并尽可能解决以下许多任务。 串 读取所有输入并打印。 打印您好,世界!。 读取一行/参数(name)作为输入,并打印生日快乐[name]!。 阅读所有输入并打印我爱的标签!如果它包含一个或多个制表符(0x09),并且我讨厌空格!如果没有。 读取两行/参数,如果第二行是第一行的子字符串,则打印真实值,否则输出虚假值。 读取一行/自变量,如果字符严格按升序打印,则输出真实值;否则,输出虚假值。 读取行/参数和一个字符,并打印该字符所有出现的索引。 读取一行/自变量并打印出现次数最多的任何字符。 数学 读取两个介于0和255之间的整数,并打印它们的总和。 读取0到255之间的单个整数,并打印除以7的商和余数。 读取一个介于1到255之间的整数,如果它是一个复合数字(既不是1也不是素数),则输出一个真实值,如果不是,则输出一个虚假值。 读取一个介于1到255之间的整数,如果它是2的幂,则打印一个真实值,如果不是,则打印一个虚假值。 读取0到255之间的两个整数,并打印较大的整数。 读取介于0到255之间的十进制整数,打印其十六进制表示形式。 读取0到255之间的单个整数并打印其汉明权重(1位的数量)。 读取1到13之间的单个整数n并打印F n,第n 个斐波那契数。 例如,对于输入13,print 233。 艺术 读取一行输入/参数并对其进行构图。 例如,对于input Programming Puzzles & Code Golf,输出: +---------------------------------+ | Programming Puzzles & Code Golf | +---------------------------------+ 读取一个矩形的字符块并将其顺时针旋转四分之一圈。 例如,对于输入 tye xll epb …

2
可怜的人的乳胶
您在一个平行的世界中被运送,人们在计算机上以人工方式将数学方程式编写为ASCII艺术。作为LaTeX上瘾者,这是完全不可接受的,您应该在某种程度上实现此过程的自动化。 您的目标是编写一个程序,输出作为LaTeX数学命令输入的方程式的ASCII版本。 必需的LaTeX命令支持 求和:求和的LaTeX命令为 \sum_{lower bound}^{upper bound} 您必须用于求和的ASCII数字为: upper bound ___ \ ` /__, lower bound 产品:产品的LaTeX命令是 \prod_{lower bound}^{upper bound} 产品必须使用的ASCII数字为: upper bound ____ | | | | lower bound 分数:分数的LaTeX命令是 \frac{numerator}{denominator} 您必须用于分数的ASCII数字是: numerator ----------- denominator 不属于这三个命令之一的所有内容均按原样显示。例如,\sum{i=3}^{e^10}\frac{3x+5}{2}应显示为 e^10 ___ 3x+5 \ ` ---- /__, 2 i=3 输入项 输入是作为字符串(或您的语言等效于字符串)传递的LaTeX命令。LaTeX命令可以嵌套,例如\frac{\frac{1}{2}}{3}是有效输入。输入应该总是正确的(无需在代码中检查LaTeX的语法)。输入仅包含上面显示的三个LaTeX命令和不需要格式化的“文本”。 LaTeX命令将始终具有上述语法,即,总和和乘积始终具有上限和下限(尽管它们可以为空),并且始终存在分数的分子和分母。 我们假定求和与乘积的边界最多为4个字符长(=和与乘积符号的宽度),因此您不必担心可能出现的重叠问题。出于类似的原因,我们假设边界只是“文本”,绝不会是LaTeX命令,例如\sum_{\sum_{1}^{2}}^{1}不是有效输入。 …

14
斐波那契螺旋
您的目标是生成带有数字的斐波那契螺旋。 输入/输出示例 1 -> 1 2 -> 1 1 3 -> 1 1 2 2 2 2 6 -> 8 8 8 8 8 8 8 8 5 5 5 5 5 8 8 8 8 8 8 8 8 5 5 5 5 5 8 8 8 8 8 …

22
忍者,猴子和熊,天哪!
这个挑战是NinjaBearMonkey赢得我的Block Building Bot群的奖励!挑战黑骑士的作品。恭喜NinjaBearMonkey! 这里的挑战相当简单,但是有多种可能的方法。传说在等距幻象世界中,有6种不同类型的生物: 忍者,缩写 N 熊,缩写 B 猴子,缩写 M NinjaBears,缩写 NB BearMonkeys,缩写 BM NinjaBearMonkeys,缩写 NBM (NinjaBearMonkey当然是最后一个最强大的类型。) 您的任务是对这些生物并排排列(即,它们的缩写字符串串联在一起)进行普查。需要注意的是,您需要确保不要将某些生物的部分计算为看起来相似的单独生物。这些生物将排队,以便: 的任何实例NBM都是1个NinjaBearMonkey和0个其他生物。 NB不跟的任何实例M是1个NinjaBear和0个其他生物。 BM不带前缀的任何实例N是1个BearMonkey和0个其他生物。 否则,实例N,B以及M分别是单忍者,熊,猴等。 该线从左到右读取。 因此,例如,在生物行中NBMMBNBNBM,有0个忍者,1个熊,1个猴子,1个NinjaBear,0个BearMonkeys和2个NinjaBearMonkeys。 挑战 写一个程序或函数,它在字符的字符串N,B和M,并打印或返回许多各6种动物中的如何存在于它。 输出应具有以下形式 #N #B #M #NB #BM #NBM 用相应的生物计数替换每个#符号。必须显示所有6个计数,即使它们为0,也要用空格隔开。但是,它们可以按任何顺序排列(例如,#NBM可以排在最前面)。 也: 输入字符串将只包含字符N,B和M。 如果输入空字符串,则所有计数均为0。 输出可以可选地包含单个前导和/或尾随空格和/或单个尾随换行符。 以字节为单位的最短提交获胜。 例子 输入:NB 输出:0N 0B 0M 1NB 0BM 0NBM 输入:NBM 输出:0N 0B …
37 code-golf  string 

30
检查单词字母是否按字母顺序排列
编写一个接受一串小写/大写字母[A-Za-z]作为输入的函数/程序,该函数/程序检查出现的字母是否唯一并且是否按字母顺序排列(忽略大小写)。如果输出是唯一的且按字母顺序输出,则输出必须为真,否则为假。 这里有一些测试用例 a true abcdefGHIjklmnopqrSTUVWXyz true aa false puz true puzz false puzZ false puZ true PuZ true pzu false pzU false abcdABCD false dcba false 如果您愿意,可以在像这样的单词列表的所有单词上运行程序,然后发布一些有趣的单词=)。 得分 最低字节数获胜。

20
战略投票,游戏
单赢者选举最常见的投票系统之一是复数投票法。简而言之,得票最多的候选人获胜。但是,从数学上讲,多元投票是不合理的,并且容易造成选民被驱使投票赞成“两个邪恶中的较小者”,而不是他们真正喜欢的候选人。 在这个游戏中,您将编写利用多个投票系统的程序。它将在选举中为三名候选人之一投票。每个候选人都为自己带来一定的回报,而您的目标是使您的预期回报最大化。 收益是“均匀地”随机分布的,随每次选举而变化,并增加到100。候选人A可以拥有40收益,候选人B可以拥有27收益,候选人C可以拥有33收益。每个玩家都有一组不同的收益。 轮到您投票时,您将获得不完整的信息。下面列出的是您将可以使用的信息。由于您不知道其他玩家的个人收益是多少,因此根据当前的投票结果预测他们如何投票将是您的挑战。 到目前为止的部分选举结果 尚未投票的参与者(不包括您自己)的数量 您为每位候选人的个人收益 每个候选人的团体总收益 在给每个玩家投票的机会之后,投票最多的候选人将按照多次投票获胜。然后,每个玩家都会收到与该候选人的收益相对应的积分数。如果票数相等,则分配的分数将是并列候选人的平均值。 比赛结构 首次实例化时,将告知参赛者在锦标赛中举行的选举次数。我将尝试进行大量的选举。然后,每次选举将一一进行。 参加者洗牌后,每个人都有投票权。他们只能获得上面列出的有限信息,并返回一个数字表示他们的投票。每次选举结束后,将为每个漫游器提供最终的民意调查结果,并从该选举中增加其得分。 在举行了许多次选举之后,得奖者将是总分最高的人。控制器还通过将每个参赛者的得分与为随机投票机器人预测的得分分布进行比较来计算每个参赛者的“标准化”得分。 提交内容 提交将采用Java 8类的形式。 每个参赛者必须实现以下接口: public interface Player { public String getName(); public int getVote(int [] voteCounts, int votersRemaining, int [] payoffs, int[] totalPayoffs); public void receiveResults(int[] voteCounts, double result); } 您的构造函数应采用一个int作为参数,该参数将代表将举行的选举次数。 该getName()方法返回要在排行榜上使用的名称。这样您就可以拥有格式精美的名称,只是不要发疯。 该getVote(...)方法返回0,1或2以表示将获得投票的候选人。 该receiveResults(...)方法主要是为了实现使用历史数据的更复杂策略的存在。 您几乎可以创建任何其他想要记录和处理提供给您的信息的方法/实例变量。 比赛周期,扩大 每个参赛者都以实例化new …

20
最终武士摊牌
注意:这个特大号的最山上的挑战已经完成。这意味着,已将C5H8NNaO4的绿色对号标记为“观察员”的条目,该标志不会被移至任何新答案。 您可能仍会提交新的参赛作品,但是由于我不再积极检查新的参赛作品,因此新比赛的运行​​可能会有所延迟。 介绍 在此挑战中,您正在玩​​名为“终极武士对决终极版特别版2.0 X Alpha Omega Turbo”(或简称为终极武士对决)的街机游戏。你的对手?除了Programming Puzzles&Code Golf的其他成员,别无其他! 正如您可能会从PPCG街机游戏中期望的那样,您不会直接玩Ultimate Samurai Showdown,而是编写了一个可以为您玩游戏的程序。该程序将与其他用户一对一决斗提交的程序作斗争。最熟练的程序将被冠以PPCG的终极武士,并获得传奇的绿色标记。 游戏说明 本节描述了游戏背后的机制。 胜利条件 一场比赛由两个互相对峙的武士组成。每个武士每场比赛都会获得20 点生命和1 点荣誉。如果他的对手死了并且他还活着,那么武士就会获胜。武士可以通过两种方法死亡: 如果武士的生命值降低到0,他会死。 如果武士将自己的荣誉降低到 0 以下,他将因在对决中不诚实的举止而被诸神击倒。 被神击倒比将生命值降低到0更高,因此在一个武士的生命值为0,而另一个武士的荣誉为-1的情况下,拥有0生命值的武士将获胜。在两个武士都获得-1荣誉的情况下,他们俩都被众神击倒,比赛平局。 一场比赛由最多500 圈。如果所有500转都过去了,而且比赛尚未确定(两个武士都没有死),众神会变得无聊,击倒两个武士,从而导致平局。 动作 在每个回合中,武士必须完全执行以下操作之一: W 武士应等待,不采取任何行动。这使他看起来很酷,但无助于击败对手。这也是默认操作。 B 武士应以光荣的方式向对手鞠躬。这使众神满意,因此武士将获得1点荣誉。荣誉是你的武士的成功是至关重要的,因为荣誉基本上是“资源”为这场比赛-除了所有的移动B,并W能减少荣誉。另外,如果武士获得7点或以上的荣誉,他将被允许使用众神之剑。其含义如下所述。 但是,如果对手决定用剑击打,向对手鞠躬会使您保持打开状态,因此在选择鞠躬时要当心。 G 武士应进入防御位置,并防止剑击。此举将成功地阻止所有的剑击,即使是用众神之剑制造的剑击。 但是,众神对防御过度的武士不以为然,因此,如果此武士在前一回合中的行动也保持警惕,则此举将消耗1点荣誉。否则它不会消耗荣誉。 I 武士将试图从剑鞘中快速抽出剑来打击对手。如果武士获得7点或以上的荣誉,他将使用众神之剑而不是普通的剑。此举消耗1点荣誉。 快速平局是一种快速打击,可以击败较慢的开销攻击,但是会招架招架失败。如果打击成功连接,将对众神之剑造成1点伤害或2点伤害。 P 武士将尝试阻止任何来袭,然后发动自己的攻击。如果武士获得7点或以上的荣誉,他将使用众神之剑而不是普通的剑。此举消耗1点荣誉。 招架是对付快速打击的良好策略,但缓慢的高架攻击将使其无法承受。如果打击成功连接,将对众神之剑造成1点伤害或2点伤害。 O 武士将尝试以较慢的开销攻击来打击他的对手。如果武士拥有7点或以上的荣誉,他将使用众神之剑而不是普通的剑。此举消耗1点荣誉。 高架罢工可以压制招架,但会因快速罢工而损失。如果打击成功连接,将对众神之剑造成1点伤害或2点伤害。 众神之剑 荣誉达到7级或以上的武士可以使用众神之剑。如果他的荣誉降低到7以下,使用万神之剑的能力将被取消。的神的剑造成2损伤而不是1。 在众神之剑不允许罢工击败剑击,它通常不会失败。例如,众神之剑的招架仍然将输给普通的空中打击,众神之剑的快速抽牌不会压倒普通的快速抽牌。确实,所谓的众神之剑实际上并没有那么强大-也许这是众神扮演的宇宙笑话... 互动表 下面的堆栈摘录包含一个表,该表显式列出了两个武士可以采取的不同动作组合的所有可能结果。要查看它,请单击“显示代码片段”,然后单击“运行代码片段”。 …

2
音乐推特挑战赛
这是Twitter图像编码挑战的音频版本。 设计一种音频压缩格式,该格式可以以140字节或更少的可打印UTF-8编码文本表示至少一分钟的音乐。 通过编写一个命令行程序来实现它,该程序采用以下3个参数(在程序本身的名称之后): 字符串encode或decode。 输入文件名。 输出文件名。 (如果首选的编程语言缺乏使用命令行参数的能力,则可以使用其他方法,但必须在答案中进行解释。) 该encode操作将从您选择的音频格式转换为压缩的“ tweet”格式,并且该decode操作将从“ tweet”格式转换为原始音频格式。(当然,您应该实现有损压缩,因此输出文件不必与输入文件相同,只是格式相同。) 包括在您的答案中: 程序的源代码完整。(如果此页面太长,则可以将其托管在其他位置并发布指向该页面的链接。) 有关其工作原理的说明。 至少一个示例,具有到原始音频文件的链接,将其压缩为“ tweet”文本,并通过解码tweet获得音频文件。(Answerer对版权“合理使用”主张负责。) 规则 我保留随时关闭竞赛规则中任何漏洞的权利。 [4月24日编辑]对于encode函数的输入(和函数的输出decode),可以使用任何合理的通用音频格式,无论是: 未压缩的波形,例如WAV。 压缩波形,例如MP3。 “ Sheet music”风格,例如MIDI。 压缩的“ tweet”格式必须在输入文件中实际编码声音。因此,以下类型的输出不计算在内: 提供实际输出存储位置的URI或文件路径。 数据库表的键,实际输出存储为Blob。 任何类似的东西。 您的程序必须设计为压缩通用音乐文件,因此请勿执行明显与您的特定示例歌曲相关的事情。例如,如果要演示“眨眼,眨眼,小星星”,则您的压缩例程不应为do-do-so-so-la-la-so序列硬编码特定符号。 您程序的输出实际上应该能够通过Twitter并毫发无损地输出。我没有支持的确切字符列表,但是请尽量使用字母,数字,符号和标点符号。并避免使用控制字符,组合字符,BIDI标记或类似的其他怪异内容。 您可以提交多个条目。 评审标准 这是一次人气竞赛(即,大多数净投票获胜),但敦促选民考虑以下事项: 准确性 歌曲被压缩后还能识别吗? 听起来不错吗? 您还能识别正在演奏的乐器吗? 你还能认出歌词吗?(这可能是不可能的,但是如果有人做到这一点将给人留下深刻的印象。) 复杂 示例歌曲的选择在这里很重要。 [4月24日添加]对于MIDI或类似格式,此挑战最为容易。但是,如果您付出额外的努力使其与波形类型的格式一起使用,则值得您多加赞扬。 有什么结构?当然,只需将相同的4个小节重复任意次数即可满足一分钟的要求。但是,更复杂的歌曲结构值得更多关注。 格式可以同时处理很多音符吗? 代码 使其尽可能简短。但是,这不是代码高尔夫,因此可读性比字符数更重要。 只要有提高结果质量的理由,聪明,复杂的算法也可以。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.