编程拼图和代码高尔夫

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

4
爱丽丝的序数格式
介绍 爱丽丝(Alice)是马丁·恩德(Martin Ender)的一种二维语言,具有两种不同的执行模式:基数和序数。当指令指针通过一面镜子(/或\)时,它会从一种模式切换到另一种模式。 在此挑战中,我们将重点关注顺序模式,在命令模式下,命令对字符串进行操作,并且指令指针沿对角线移动,并在代码边缘跳动。 可以以非常紧凑的样式编写仅以序数模式运行的简单程序,如以下示例所示: /fbd/ @aec\ 在这里,IP在基数模式启动从所述第一小区去东,通过第一反射镜,并开始对角移动和跳动,执行命令a,b和c。然后,它遇到了东北镜这使得南下向其他镜像,然后开始反弹向西走回来,遇到命令d,e,f,最后@,终止程序。 这种结构非常紧凑,但是编写和维护起来并不容易(添加单个命令可能会迫使我们对大多数代码进行重新排序!),因此,我希望您能帮助我进行格式化。 任务 给定一个命令序列,其中每个命令是一个可打印的ASCII字符,请在两行上对其重新排序,以便可以从第二行的第一个字符开始读取该序列的前半部分,然后始终向右斜移,而后半部分则可以从右到左读取其余字符。不用担心镜子和终止符号,我会自己添加它们。 因此,例如,给定输入,abcdef您应该输出 fbd aec 如果输入的长度是奇数,则只要遇到的命令顺序保持不变,就应该在任何地方添加一个空格(在Alice中为noop)。您也可以选择输出两行长度相差一个字符的字符,在这种情况下,较短的行被认为在末尾有一个空格。 规则 这是 代码高尔夫球,最短答案(以字节为单位)获胜! 您可以通过任何默认的输入/输出方法来输入/输出 输入由一行可打印的ASCII字符组成 输出中允许使用一条尾随换行符 当作为Alice程序运行时,程序的某些输出可能没有完全正确的行为(例如,如果在字符串文字中插入了填充空间)。您不必担心这些情况 禁止出现标准漏洞 测试用例 --Input abcdef --Output fbd aec --Input 123 --Output 2 13 OR 31 2 OR 3 12 OR 32 1 --Input O --Output O OR O --Input …

13
创建自己的红色和黑色
在悲惨世界的音乐作品中,有一首歌叫《红与黑》。这是这首歌的一部分: 红色-愤怒的人的鲜血! 黑色-过去的黑暗! 红色-一个即将黎明的世界! 黑色-最后的夜晚! 资源。 您的任务是将输入转换成响亮的“红色和黑色”国歌。 输入项 用换行符分隔的文本,或类似的合适文本输入。例如, The blood of angry men! The dark of ages past! A world about to dawn! The night that ends at last! 空输入未定义(超出范围)。 输出量 如果输入的长度(行数或输入数组的长度,或类似值)是奇数,则不输出任何内容或输出false。您提交的内容可能不会输出错误,也不会尝试输出正确的输出。 否则,将输入变成红色/黑色歌词。将行首的所有大写字母变为小写。添加Red加一个分隔符的奇数行的前面,Black加上一个(可见)分隔符的偶数行的前面。定界符也必须用空格包围,因此输出看起来是不拥挤的(和松散的;)。 现在您有了输出。 测试用例 输出定界符为-。 In: The blood of angry men! The dark of ages past! A world …

10
弦的旋转对称
旋转“是通过将字符串分成两部分并颠倒其顺序进行的”。如果对象在应用操作之后未更改,则该对象在操作下是对称的。因此,“旋转对称”是字符串在“旋转”之后保持不变的事实。 给定一个非空字符串,该字符串s仅包含从a到的字母z,输出该字符串旋转对称性的最高顺序。 测试用例: input output a 1 abcd 1 abab 2 dfdfdfdfdfdf 6 这是 代码高尔夫球。以字节为单位的最短答案将获胜。有标准漏洞。

5
确定最繁忙的时间
这个挑战极大地受到了Stack Overflow帖子的启发。 挑战 给定一堆客户有关他们何时进入房间和何时离开房间的信息,请确定房间中人数最多的时间段。时间分辨率应为分钟。 例如,如果有三个客户8 - 10,9 - 11,10 - 12,那么正确的答案是9 - 11,在此期间,会议室中有两个客户,这是最大的可能。 输入项 输入将是某种形式的成对列表。可以是2元组的列表,也可以是元素交织的偶数列表,等等,可以是任何合理的输入格式。时间可以以任何合理的格式给出,可以是12小时或24小时制。您也可以输入时间作为午夜后的分钟数。 输出量 输出应该是以某种形式的成对列表,但是输出更严格。输出不能是平面列表,它必须是2元组列表或列表列表等。时间可以以任何合理的格式输出,可以是12或24小时制。您也可以将时间输出为午夜后的分钟数。 例子 input output INPUT 08:00 - 10:00 09:00 - 11:00 10:00 - 12:00 OUTPUT 09:00 - 11:00 INPUT 08:20 - 09:20 09:00 - 09:10 08:00 - 09:30 08:50 - 10:40 OUTPUT 09:00 - …
9 code-golf  date 

3
PPCG的未解答问题
这个亲爱的StackExchange网站面临许多挑战,并获得了许多不错的答案。但是,从未解决的挑战又如何呢? 任务 编写一个程序或函数,该程序或函数将打印来自PPCG的未回答的伪随机开放答案(例如,答案完全为零的问题)。所有可能的挑战都应以相同的概率产生。 输入项 没有输入。 输出量 只能是标题,标签和链接,并用换行符分隔。 标题必须与挑战中的标题完全一样。 标签没有严格的输出格式,但必须包含所有标签。 该链接可以包含question-name问题ID,也可以不包含问题ID之后的链接,并且必须引起挑战。 可能会或可能不会翻译为人类可读的格式。 & 至 & 允许前导和尾随空格。 例子 Encode a steganographic encoder into a package code-challenge,unicode,steganography /codegolf/65159/encode-a-steganographic-encoder-into-a-package Simple predictive keyboard CG code-golf /codegolf/76196/simple-predictive-keyboard-cg 计分 因为这是 代码高尔夫球,最短答案(以字节为单位)获胜。

22
产生三角信号
任务: 给定样本索引x,计算三角波的样本值f(x),周期为4个样本,幅度为1。偏移量可以为负,样本值可以为{0,1,-1}。 测试用例: -5 -> -1 -4 -> 0 -3 -> 1 -2 -> 0 -1 -> -1 0 -> 0 1 -> 1 2 -> 0 3 -> -1 4 -> 0 5 -> 1 我个人知道C中的两种方法-第一种是使用查找表,第二种是使用条件指令。对于布朗尼点,您能用一种纯粹的“数学”方法打动我吗?(我指的是一种纯粹的功能性方法,例如,不使用条件指令或对LUT使用内存。)但这不是限制。如果不能,或者您的语言不支持,请发布任何解决方案

14
评估多维坐标系的索引
提供了N维坐标的集合。下面是一个示例: {2,3,4} 可以将其视为具有2x,3y和4z的3维数组。可以有任意多个尺寸。在该示例中,总共有24个节点。可以使用{x,y,z}为每个节点建立索引。要访问第5个节点,根据下表提供的索引将为{0,1,0}。 ## | x y z 0 1 2 ----------- 0 | 0 0 0 1 | 0 0 1 2 | 0 0 2 3 | 0 0 3 4 | 0 1 0 5 | 0 1 1 6 | 0 1 2 7 | 0 …

15
实现欧拉方法
这个挑战的目标是使用欧拉方法来近似形式为f (n)(x)= c的微分方程的解。† 输入将是一个整数列表,其中第n个值代表f (n)(0)的值。第一个整数是f(0),第二个整数是f'(0),依此类推。此列表中的最后一个整数是常数,并且将始终保持不变。 作为输入还提供了一个正(非零)整数x,它表示目标值(您正在尝试估计f(x))。欧拉方法的步长始终为1。因此,您将总共需要执行x步。 如果你是unfamliar欧拉的方法,这里是与输入的解释一个详细的例子[4, -5, 3, -1],X = 8。 x f(x) f'(x) f''(x) f'''(x) 0 4 -5 3 -1 1 4-5 = -1 -5+3 = -2 3-1 = 2 -1 2 -1-2 = -3 -2+2 = 0 2-1 = 1 -1 3 -3+0 = -3 0+1 = …

15
这是什么颜色?
您要打高尔夫球的程序将以文件名作为输入,并且必须输出文件的颜色。 该文件将具有这些扩展名中的任何一个,但您的程序仅需要支持一个。请说出答案中的哪一个。 .jpg .png .svg .gif .bmp 现在到经典布局。 输入项 具有上述扩展名之一的文件名。 您也可以取一个图像对象或已编码的图像。 输出量 该文件中唯一的颜色是6位十六进制代码,带有可选的前导,#例如#000000黑色。 您还可以输出包含RGB颜色的十进制或十六进制值的列表/元组/字符串,并带有清晰的非数字定界符,例如 , |etc 您可能不输出透明度。 如果文件不是所有颜色,则必须输出一个不是的假值,#000000并在不打印任何内容的情况下终止STDERR。这样一来,您就不能简单地打开文件并获取第一个像素的RGB值。 规则 仅当文件为一种颜色时才需要输出十六进制代码。 该文件将是500x500像素 像素将全部具有0%的透明度。 这是 代码高尔夫球 最短的代码胜出! 例子 #16C293 #8B16C2 #959090 #84F00C 虚假价值

4
徽标中打高尔夫球的技巧
徽标是一种编程语言,其最早可追溯到1967年,与其他语言相比,它在创建较少字节的图形方面具有巨大的潜力。 徽标是一种利用Turtle Graphics的教育性编程语言。 Logo有多种有趣的实现,包括: 苹果标志 Atari徽标 LibreLogo(我个人最喜欢的) 德州仪器徽标 UCB徽标 还有许多其他 ... 此外,可以在线找到多个徽标解释器。 此页面旨在成为代码高尔夫的中心 提示 有关徽标编程语言的任何实现。 资料来源:吉姆·穆勒(Jim Muller)的《大徽标历险记》(Great徽标Adventure,1998年)
9 code-golf  tips 

6
向前和向后的杂色藜!
你必须做的是在输出一种语言的源代码和它的源代码中的多语种落后于另一个。与正常规则不同,您可以阅读当前文件或使用内置文件来获取提交的源代码并以一种语言反转该源代码。您的源代码不能是回文。 例如,如果您的源代码是abcxyz,则它必须abcxyz以一种语言和zyxcba另一种语言输出。如果您的代码是abcxyzyxbca,则无效,因为它是回文。 祝好运!

5
白键钢琴和弦
背景故事[不正确] 钢琴的设置如下: 但是,在我的钢琴上,所有黑键都坏了! 我仍然希望能够在坏了的钢琴上弹奏一些和弦。 在音乐中,和弦是一起演奏的一组音符。为了输入和弦,我将首先定义什么是半音。 什么是半音? 半音是西方音乐中最小的距离。如果您看一下钢琴的顶部,您会发现通常可以从黑键移到白键,反之亦然。然而,与B和C和E和F没有黑键。 什么是和弦? 出于此挑战的目的,我们将和弦定义为一堆音符,在它们之间具有一定数量的半音。例如,让我们开始学习一个4-3-3和弦C(对于音乐人来说,这是F大调中的V 7和弦)。我们从开始C。我们指望了4个半音:C#,D,D#,E。接下来需要注意的是E,我们算3个半音起来后认为:F,F#,G。接下来需要注意的是G,我们算3个半音起来后认为:G#,A,Bb。因此,我们得到了C-E-G-Bb。好极了!但是,等待... Bb是一把黑钥匙,那些钥匙已经坏了...但是,如果我们从开始G,我们会得到G-B-D-F!好极了! 输入项 输入以任何合理格式的整数列表形式给出。这代表如上所述的和弦。 输出量 输出应该是一个注释列表,我可以在此开始使用白键。这也可以是最多7个音符的字符串,因为所有键名都是一个字符。您还必须能够处理空的输出。 测试用例 input -> output // comments 4 3 -> C F G // this is a major triad 3 4 -> D E A // this is a minor triad 4 3 3 -> G …

4
“监视”图像
问题: 这个挑战来自我遇到的一个实际问题。我正在使用双显示器设置,我想使用以下图像作为墙纸: 但是,我的显示器有很大的边框,当我设置背景时,它看起来像这样,在码头上出现(更平?)被打破了: 我可以通过以下方式解决此问题:将中心切出,然后将其拉伸回原始大小,如下图所示: 挑战: 编写一个程序,以获取图像并“监视”它以用于双显示器设置(即删除图像的中央部分,即边框所在的位置)。规则如下: 它必须是一个完整的程序,它可以以路径(字符串参数等)或文件选择器对话框的形式接受图像。 程序必须以垂直线的数量(宽度为一个像素)为输入,以从图像中心切出 裁切必须来自原始图像的中心(横向) 结果图像必须重新缩放为输入图像的原始大小。(可以分别对这两个半部分进行缩放,然后进行级联,或者对这些半级进行合并,然后进行缩放。单独进行缩放可以产生更好的图像/效果,但是在现实世界中很难注意到) 背景图像通常是偶数的,因此,为了使此挑战更容易,输入图像将仅具有偶数个像素,并且要删除的行数也将仅是偶数。 这项挑战就是代码高尔夫-以字节为单位的最短代码获胜 祝好运!

10
Hello World处理错误
编写具有以下功能的程序或函数: 程序/函数首先尝试将字符串写入Hello, world!标准输出流。(此挑战没有其他形式的输出是可以接受的,因为重点是I / O而不是程序本身的琐碎行为。)取决于程序是否成功: 如果成功输出Hello, world!,则程序/功能将退出而没有任何进一步的行为。 如果由于错误而未能产生正确的输出,则程序/函数会尝试将字符串写入Error writing "Hello, world!"标准错误流。(出于此挑战的目的,您无需为错误处理本身进行错误处理。) 澄清说明 您的程序/函数将在没有输入的情况下运行(除非以绝对需要输入才能正常工作的语言编写,在这种情况下,它将使用最简单的输入来运行)。 产生输出时,如果愿意,也可以产生一个尾随换行符,但这不是强制性的。 程序实现的“写入标准输出错误”的定义必须至少将以下情况视为错误: 不存在标准输出(即,stdout是封闭的文件句柄,不存在文件描述符1,或者这些情况会转换为您使用的语言和操作系统); 标准输出,指的是磁盘上没有可用空间的文件; 标准输出连接到另一个程序,该程序已经关闭了连接的末端。 并且必须至少将以下情况视为成功(即不是错误): 标准输出连接到终端,并Hello, world!显示在屏幕上。 标准输出连接到文件,并Hello, world!写入文件中。 您可以选择什么才是输出错误的详细信息,只要它与上述规则一致即可。 遇到上面列出的任何错误情况,您的程序/功能都不会崩溃。由您决定使用哪种退出代码。 您的程序/函数不应在标准错误流上描述遇到的错误的性质;它应该只打印上面指定的字符串。标准错误的无关输出(例如,编译器警告)只有在无条件产生的情况下才是合法的,无论是否遇到错误。 您的程序仅需要在一个操作系统上运行(尽管必须是上面列出的错误才有意义的操作系统;我试图使它们具有足够的通用性,以使其能够在大多数多任务消费者操作系统上运行,但是怪异的操作系统可能会排除在此挑战之外)。如果您的程序不可移植,请在提交的标题中列出需要运行的假设。 并非每种语言都可能完成此任务(并非每种语言都允许程序以自定义方式处理输出错误)。您必须选择一种可能的语言。 确保您的程序/功能有效!不要仅仅相信库函数的文档就能完成他们说的事情。简单的输出函数的错误处理在实践中常常被证明是错误的,即使函数声称在理论上处理错误。 测试用例 这是一种bash在Linux 上使用的方法,可以模拟上述每种错误情况(您不必使用Linux,但这可能是最简单的测试系统): your_program_here >&- # nonexistent stdout your_program_here > /dev/full # out of disk space mkfifo test # note: change …

4
米娅套装顺序
骰子游戏Mia引入了大小为2的一组非常平凡的顺序: {3,1} < {3,2} < {4,1} < {4,2} < {4,3} < {5,1} < {5,4} < {6,1} < {6,5} < {1,1} < {2,2} < {6,6} < {1,2} 通常,元组中的顺序无关紧要{x,y}={y,x}, {1,2}比其他任何东西都大,对大于大于非对,并且数值决定是否平局。 现在假设您要使用n骰子。另外,骰子有m面孔。 例: {1,5,3,4} < {1,2,6,3} 自5431 <6321 {1,2,3,5} < {1,1,5,6} < {1,1,5,5}, {1,1,6,6} < {1,1,1,3} < {2,2,2,3} < {1,1,1,1} < {1,2,3,4} {2,2,5} …

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.