Questions tagged «programming-puzzle»

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

6
代码注入也可以在C#中工作!
给定以下C#程序输出False,请注入“恶意”代码行,以使程序输出True。 class Program { static void Main() { System.Console.Write("False"); ; } } 您的答案应包含一个字符串,该字符串将替换第二个分号,并导致程序输出True,整体,True而仅输出True(甚至不包括换行符)。如果将stdout打印到控制台,并且将stdout重定向到文件,则必须执行此操作。 最短的答案将获胜。

4
请不要分支
任何精通低级代码优化的人都知道分支的危险,无论将其实现为if语句,循环还是select语句,分支错误预测的可能性都是一件很浪费时钟的事情。 使用简单的算法可以更好地解决简单的问题,所以让我们这样做。 对于以下问题,所有变量都是32位无符号整数,并且唯一允许的代码是仅包含以下运算符的纯集语句: + addition - subtraction * multiplication / integer division, rounds down, division by 0 not allowed % modulo & binary and | binary or ^ binary exclusive or >> bitshift right << bitshift left Logic operators, return 1 if the expression is true and 0 if it …

5
在Python脚本中添加注释,并使其成为双语的Python / C ++“程序”
给定以下Python 3脚本: def greet(): print("Hello, world!") greet() 前面加上一些行该文本文件,以便它可以同时作为一个Python程序执行以及编译和运行一个C ++程序产生相同的输出你好,世界!(包括末尾的换行符): $ python3 bilingual.py.cpp Hello, world! $ g++ bilingual.py.cpp && ./a.out Hello, world! 该解决方案将通过整个程序的非空白字符计数来评分,包括Python脚本: sed 's/\s//g' bilingual.py.cpp|wc -c

1
帮助Jason格式化他的JSON
杰森(Jason)有一个很大的JSON,但它不可读,因此需要美化它。 格式化规格 JSON有4种不同的类型: 数字;只是0-9 弦; 用双引号引起来的"字符串\ 数组;以分隔[],项目以分隔,,项目可以是以下任何类型 对象;以分隔{},格式是key: valuekey是字符串,value是这些类型中的任何一种 间距 数组之间的逗号之间应仅留一个空格 对象应该在键和值之间只有一个空格, : 缩进 每个嵌套级别比上一个缩进2个级别 每个对象键/值对始终在自己的行上。对象缩进 如果数组包含另一个数组或对象,则该数组将缩进多行。否则,数组将保持一行 规则 内置插件,其轻视这个任务都不会允许的。 一如既往,不允许出现标准漏洞 例子 [1,2,3] [1, 2, 3] {"a":1,"b":4} { "a": 1, "b": 4 } "foo" "foo" 56 56 {"a":[{"b":1,"c":"foo"},{"d":[2,3,4,1], "a":["abc","def",{"d":{"f":[3,4]}}]}]} { "a": [ { "b": 1, "c": "foo" }, { "d": [2, …
11 code-golf  string  json  code-golf  number  code-golf  image-processing  code-golf  string  code-golf  number  sequence  arithmetic  number-theory  code-golf  string  code-golf  string  counting  code-golf  ascii-art  code-golf  math  code-golf  tips  code-golf  string  code-golf  grid  graph-theory  code-golf  parsing  interpreter  brainfuck  code-golf  math  arithmetic  number-theory  programming-puzzle  c#  code-golf  dominoes  code-golf  tips  code-golf  string  grid  crossword  code-golf  string  code-golf  kolmogorov-complexity  code-golf  number  sequence  code-golf  string  math  number  number-theory  primes  fastest-code  code-golf  number  code-golf  string  code-golf  ascii-art  number  kolmogorov-complexity  code-golf  string  grid 

5
m3ph1st0s的编程难题3(C):“简易错误”
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 4年前关闭。 这是我的C / C ++难题系列的第3个。万一您错过了前2个,则它们在这里:(1)m3ph1st0s的编程难题1(C ++) (2)m3ph1st0s的编程难题2(C ++):“辛苦!” 我必须说我的难题是100%原始的。如果没有,我将始终在案文中声明。我的第三个谜题分为以下两个部分: 拼图3.1 这一部分(3.1)并不是我的原始难题,它是从我前一段时间读过的一些互联网页面中收集的。我在这里以它为起点并为您热身。解决该问题,然后继续进行第二部分。 有人尝试打印“ +”号20次,并提出了以下程序: #include <stdio.h> int main() { int i; int n = 20; for( i = 0; i < n; i-- ) printf("+"); return 0; } 它没有达到预期结果的事实是显而易见的-该程序永无止境。修理它!简单?现在,通过更改“仅一个字符”来修复程序-当然不是空格字符!对于这一挑战,有3种解决方案。找到所有的三个。为了清楚起见:该程序必须输出20个“ +”号,并且必须快速结束。在就“快速”的含义批评我之前,我要说这最多意味着几秒钟(顺便说一下,这太多了,只是为了使它变得清晰起来)。 拼图3.2 编辑 前面曾指出,针对3.2.2难题的解决方案可能取决于编译器。为了消除对该主题的任何可能的讨论,当我会格外小心以免引起争议时,我将修改想法并在下一个难题中对其进行改进。但是,为了使这个难题继续下去,我将对3.2.2进行一些小的修改(该解决方案会更简单但更干净)。 当我第一次看到拼图时,我发现它很棒。我确实设法解决了这个问题,但没有立即解决,因为它需要仔细注意。如果您在这里,则意味着您也已解决它。如果您通过编写一个程序用所有可能的值替换所有可能的字符并测试每个解决方案来这样做,那么您将会迷失方向。努力工作的家伙。现在已更正了写20个“ …

3
C#是主要问题
这个编程难题的灵感来自于昨天在这里提出但又被作者删除的另一个问题。 挑战: 使用Visual C#(或您喜欢的C#IDE)创建可执行二进制文件(Windows .EXE或Linux二进制文件),该文件将以下文本打印到标准输出中: Main() is the main method of C# programs! ...而不使用任何源文件中出现的4个连续字母MAIN! 笔记: 如果您的源代码包含文本remainder(例如),则它包含4个连续的字母MAIN,但是如果包含4个字母,则mxain不再是连续的,因此mxain将被允许​​。 除了C#IDE之外,您不能运行任何程序,也不能更改C#IDE的设置来运行其他程序(但可以正常运行的程序,例如C#编译器)。 否则,您可以简单地说:“我使用C#IDE编写Pascal程序,并在C#项目的“预构建”步骤中调用Pascal编译器。 这太简单了。 可以使用“插件”(或类似插件)进行扩展的IDE用户,或具有内置二进制文件编辑器(十六进制编辑器)的用户,将比其他C#IDE的用户拥有太大的优势。 因此,也不应使用这些功能。 明确允许使用其他非ASCII编辑器(例如对话框窗口编辑器)! 用户使用函数名称中的反斜杠提出这样的原始问题,就像这样:static void M\u0061in()由于其他用户已经阅读了此答案,因此将不再接受该答案! 用户询问是否允许将.EXE文件简单地输入到源代码编辑器中,并将文件另存为“ .exe”而不是“ .cs”。答:我认为这不可能,因为有效的Windows和Linux二进制文件都包含NUL字节。但是,如果找到可以通过这种方式创建的有效二进制文件,则您将获得有效的解决方案。 该站点的名称是“ Programming Puzzles & Code Golf”-这是“ Programming Puzzles & Code Golf”,而不是“ Code Golf”:挑战是要在所有其他用户之前找到可行的解决方案,而不是找到比所有其他用户都短的解决方案解决方案。 因此,描述有效解决方案的第一篇文章胜出! 祝好运! 顺便说一句:我有一个在Visual C#Express 2010下工作的解决方案。

7
非幂等Python
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 4年前关闭。 编写几行Python代码,X其中没有引用任何全局变量,例如 def method(): X print(a) method() 打印1但 def method(): X X print(a) method() 版画2。 所以,我讨厌被坚持己见,但看起来vars和locals实际上是在Python全局变量: def test_global_1(): global vars, locals vars = lambda: 2 locals = lambda: 3 def test_global_2(): print(vars()) print(locals()) test_global_1() test_global_2() 同样,人们似乎希望看到像这样的难题的客观获胜标准。代码长度在这里并不真正合适,所以也许我们可以为代码的各种新颖功能建立一个布朗尼积分系统?我不确定这些可能是什么,但这是一个开始: +1代表真正没有全局变量(否vars或locals) +1是第一个发布特定技术的人 +1为发布的最短解决方案 +1为仅涉及一条Python语句的解决方案 +1有趣的“ hacks”,例如加入词法非边界 +1不使用例外 …

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.