Questions tagged «programming-puzzle»

编程难题包括目标,部分完成的程序以及概述如何修改程序的规则。该程序经过专门设计,难以实现目标。解决编程难题的答案只能采用规则中指定的方式对程序进行修改,从而实现目标。

30
向后执行打印
您的任务是颠倒某些prints命令的执行顺序。 规格: 您的代码将采用以下形式: //some lines of code /*code*/ print "Line1" /*code*/ /*code*/ print "Line2" /*code*/ /*code*/ print "Line3" /*code*/ /*code*/ print "Line4" /*code*/ //some lines of code 您必须print(从第四到第一)(或echo,或write,或等效)这些字符串。 您可以决定程序的哪些行必须print使用字符串,但是它们必须相邻; 每行只能包含一个print,并且长度不能超过60个字节; 因为这是一场人气竞赛,所以要有创造力,避免只写一个goto或简单的for(i){if(i=4)print"Line1";if(i=3)...} 2周内获得最高评价的答案将赢得此奖项。 您的输出必须为Line4 Line3 Line2 Line1 OR Line4Line3Line2Line1 OR Line4\nLine3\nLine2\nLine1(其中\n是换行符),并且必须仅通过prints向后执行来生成它。 编码愉快! 更新:比赛结束了!谢谢你们 :)

30
构造身份矩阵
挑战非常简单。给定整数输入n,输出n x n单位矩阵。单位矩阵是1从左上角到右下角的s 矩阵。您将编写一个程序或函数来返回或输出您构造的身份矩阵。您的输出可能是2D数组,或者是由空格/制表符和换行符分隔的数字。 输入和输出示例 1: [[1]] 2: [[1, 0], [0, 1]] 3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]] 4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] 5: [[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], ...

6
评分Tarzan的奥林匹克葡萄摇摆常规
奥运会的葡萄树摆动者在标准的树上执行常规活动。特别是,“标准树” n具有0向上穿过的顶点n-1以及将每个非零顶点连接a到其n % a下面的顶点的边。因此,例如,标准树5如下所示: 3 | 2 4 \ / 1 | 0 因为5除以3时的余数为2,所以5除以2或4时的余数为1,而5除以1时的余数为0。 今年,泰山将捍卫他的金新套路,每个始于顶点n - 1,秋千到顶点n - 2,继续顶点n - 3,等等,直到最后他卸除到顶点0。 例行程序的分数是每个挥杆(包括拆卸)的分数之和,挥杆的分数是树内起点和终点之间的距离。因此,Tarzan在标准树5上的例程得分为6: 从摇摆4到3得分3分(向下,向上,向上), 从摇摆3到2得分(下降)一分, 从摆动2到1得分1分(向下),并且 从下来1,0得分为1分(下降)。 编写一个程序或函数,给定一个正整数n,该程序或函数将计算Tarzan例程在Standard Tree上的得分n。样本输入和输出: 1 -> 0 2 -> 1 3 -> 2 4 -> 6 5 -> 6 6 -> 12 7 -> 12 8 ...
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

22
创建一个对象,该对象的状态在分配时发生变化
我发现在Ruby中做到这一点非常奇怪(我不会马上说怎么做): obj = #code redacted print obj.state # Some value. LValue = obj print obj.state # Different value! 您的挑战是大致创建这种形式的代码。创建一个对象并将其分配给变量。它应该具有上面定义的某些已定义属性(或确定性,幂等方法),即使您仍使用旧标识符(上面)来引用它state,该对象在分配给新标识符(LValue上面)之后也会发生变化obj。 编辑以强调:state或等效项必须是幂等的,因此创建修改该值的访问器,或由于任何其他原因而导致在连续调用多次时返回不同的结果,不是有效的解决方案。或者,更简单地说,必须是更改状态的分配。 任何带有分配语言的语言都可以使用,尽管在某些语言中可能没有完全合法的解决方案。如果几天后没有其他人知道,我将发布我的Ruby答案,并滚动接受最高投票的答案。

4
匹配长度为四次幂的字符串
在这个问题的范围内,让我们只考虑由x任意次数重复的字符组成的字符串。 例如: <empty> x xx xxxxxxxxxxxxxxxx (嗯,实际上不必如此x-只要整个字符串只有一种类型的字符,任何字符都可以) 以您选择的任何正则表达式形式编写一个正则表达式,以匹配某个非负整数n(n> = 0)长度为n 4的所有字符串。例如,长度为0、1、16、81等的字符串有效;其余的无效。 由于技术限制,难以测试大于128的n值。但是,无论如何,您的正则表达式在逻辑上均应正常工作。 请注意,不允许您在正则表达式中(对Perl用户)执行任意代码。允许使用任何其他语法(环顾四周,向后引用等)。 还请提供有关您解决问题方法的简短说明。 (请不要粘贴自动生成的正则表达式语法说明,因为它们没有用)

11
Dyalog APL官方2016年比赛
如果您认为这可能很有趣,但是工作量过多,请考虑参加这个小得多的挑战。 2016年有点有趣(可能还有挫败感!)…… Dyalog的“年度难题”。请享用! 目标 查找Dyalog APL(下载)表达式(允许使用其他语言,请参见下面的“ 资格”),该表达式精确地包含数字2 0 1 6,该数字等于0到100。例如: 20=16 ×2016 2⌊016 2+0+1*6 ... 目的是在每个表达式中使用尽可能少的字符(一个表达式的最小字符数为5 –四位数字2 0 1 6和一个原始函数/运算符)。 规则 每个表达式必须包含数字2 0 1 6(按该顺序),并且不能包含其他数字。预设的常量和变量也不允许。 除了四位数2 0 1 6以外,只能使用内置符号和名称,括号/大括号,空格,高减号和小数点。结果表达式必须是确定性的(即,在重复求值时得出相同的结果)。对于非APL,也可以使用带有名称的功能/操作符;和这里一样的规则。 假定您的语言的所有默认设置。对于Dyalog APL,这意味着⎕ML和⎕IO均为1,并且⎕PP为10。 包括从0到100在内的所有数字的正确表达式的每个条目都将根据这些表达式所使用的字符数(不包括多余空格)(所有101个表达式的最小值505)进行评级。 合格 任何人都可以进入。您可以用任何语言回答,但只有APL回答会被考虑接受。如果您使用APL以外的其他语言,则可以使用代码片段,程序,函数等代替表达式,并且可以打印,将数字保留在可访问的内存位置,或者以其他方式返回结果,只要直接编写代码即可计算为所需的数字,作为您语言的任何标准数值数据类型。 截止日期 2016年11月30日。 奖品 接受您的答案 在Dyalog的2016年名人堂中永生不朽! 提交您的输入 2016年11月30日之后,我将接受最短的答案,并以您的名义将您的答案提交给Dyalog的2016年名人堂。 常问问题 是否允许J(例如37 = ⌈⍟!20J16)? 否:除了四位数字2 0 1 6之外,只能使用内置符号和名称,括号/大括号,空格,高减号和小数点。 输出为字符串可以接受吗? ...

17
m3ph1st0s的编程难题1(C ++)[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 3年前关闭。 这是为您准备的一系列C ++难题中的第一个。希望你会喜欢。 因此,难题1: 给定以下程序: #include <iostream> int main() { const int a=1; const int b=2; const float c=0.5; std::cout << a/b-a*c; } 在程序内任何位置的新行上插入一些代码,以便输出为0。新行将包含AT MOST 18个字符(包括空格),其余行将保持不变。要清楚,这是有效的新代码的示例: #include <iostream> int main() { const int a=1; const int b=2; int* p = NULL; const float ...

1
什么时候长颈鹿不是长颈鹿?
我希望在“ Programming Puzzles&Code Golf”中可以找到这种“谜语”。 举例说明以下C#方法返回的情况false: public class Giraffe : Animal { public bool Test() { return this is Giraffe; } } 规则:上面的代码行不能以任何方式更改,但是您可以将代码放入应用程序中,以便编译“项目”并调用该方法。运行时,该方法必须返回false。我想到的解决方案不会在运行时或类似的“异国情调”事物中发出自己的IL,这是一个普通的实例方法调用。

30
用给定的宽度绘制空心的#
我从Codingame那里获得了这一挑战,并且对比我的更好的解决方案感到好奇: 通过标准输入给定宽度,在给定的宽度和长度上绘制一个空心的#号正方形。 例: 5结果 ##### # # # # # # ##### 我用python解决了这个问题,所以我对其他python代码特别感兴趣。但是,请随时以所需的任何语言发布您的解决方案。
21 code-golf  string  ascii-art  number  code-golf  grid  code-golf  string  ascii-art  code-golf  alphabet  cipher  code-golf  math  number  code-golf  quine  code-golf  palindrome  polyglot  code-golf  number  array-manipulation  counting  logic  code-golf  string  primes  binary  decision-problem  code-golf  ascii-art  kolmogorov-complexity  popularity-contest  code-golf  probability-theory  code-golf  string  code-golf  python  polyglot  programming-puzzle  c++  code-golf  math  code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

1
一点魔法
挑战 给定以下C#方法: private static bool Test(bool a, bool b) { if (a && b) return false; if (a) if (b) return true; return false; } 提供值a,b以便true返回。 获奖条件 可以提供正确参数以使给定方法评估为true胜利的第一个条目。

6
当try块中的所有内容都已被捕获时达到catch
我猜这仅限于Java和C#。 在此编程难题中,您将产生Exception可被捕获但又在catch块末尾再次抛出的。 try { while(true) try { // you are only allowed to modify code between this try { } brackets } catch(Exception ex2) { } } catch(Exception ex1) { // your goal is to reach this catch block by modifying the code ... // in the inner try block ...

10
升序矩阵
“升序矩阵”是整数(包括0)的无限矩阵,其中任何元素是最小的可用元素,之前尚未在相应的行和列上使用: | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 ...
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

1
正则表达式验证正则表达式[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 2年前关闭。 构建一个将接受正则表达式字符串作为输入的正则表达式,并检查其是否有效。基本上,您的正则表达式应该能够验证自己。(任何无效的正则表达式都不应进行验证,因此您不能使用.*。;)) 您的风味必须得到众所周知的实现(Perl,sed,grep,gawk等)的完全支持,并且必须完全支持那些实现所支持的功能。[不用担心律师说话;我只是想消除所有可能导致智能***的漏洞。] 我会对此进行编码,但是我担心它会给那些知道和使用非功能丰富的风味的人带来优势。还是我的担心没有根据?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

6
吃鱼,长大
您是池塘中的鱼,需要吃其他鱼才能生存。您只能吃比自己大或小的鱼。您必须创建一个程序,将鱼群作为已排序的输入。由此,您必须算出可以吃多少鱼,最终算出鱼的大小。 尺寸表 +--------------+--------------+--------------+--------------+ | | Amount extra | Total size 1 | Increase to | | Current size | needed for | fish | size | | | next size | | | +--------------+--------------+--------------+--------------+ | 1 | 4 | 4 | 2 | +--------------+--------------+--------------+--------------+ | 2 | 8 | 12 ...

2
Befunge脑筋急转弯
介绍 对于那些想知道Befunge到底是什么的人,它是Chris Pressy在1993年提出的一种基于二维堆栈的语言。我在Befunge-93中做了7个需要解决的难题。这是一个实验性的挑战,但我认为值得一试:)。在Befunge-93中使用的所有命令的完整列表可以在此处找到。 怎么玩? 这项任务有点像没有警察的强盗。基本上是为了获得分数而破解提交内容。每个难题都包含问号。必须将其替换为range 32 - 127中包含空格的任何可打印ascii字符。请参见以下示例: ??????@ 鉴于输出必须为hi。经过一番困惑之后,我们可以发现解决方案是: "ih",,@ 但!您不提供解决方案。那是为了防止作弊。您无需发布解决方案,但可以发布hash。哈希是通过以下代码段生成的: String.prototype.hashCode = function() { var namevalue = document.getElementById("inputname").value; var namenumber = 123;for (var character = 0; character < namevalue.length; character++) {namenumber += namevalue.substring(0, 1).charCodeAt(0);}var hash = 123 + namenumber, i, chr, len;if (this.length === 0) {return 0;}for (i ...

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.