编程拼图和代码高尔夫

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

30
起点等于终点吗?
任务 在此挑战中,您的任务是编写一个程序或函数,该程序或函数接受String,并根据输入String的第一个字符和最后一个字符是否相等,输出真值或伪值。 输入值 您可以以任何合理的方式接受输入。但是,不允许输入存在于预定义变量中。允许从文件,控制台,命令行,输入字段等进行读取,或将输入作为函数参数。 输出量 除了将结果分配给变量外,您可以以任何合理的格式输出。return允许写入文件,控制台,命令行,模式框,函数语句等。 附加规则 输入也可以是空String,您应该为其返回falsey值。 单字符输入字符串应得到真实的结果。 您的程序应区分大小写。helloH应该输出一个falsey值。 您只能有一个Truthy值和一个Falsey值。例如,不允许将false一个输入字符串和0另一个输入字符串输出为Falsey值。 不允许出现标准漏洞。 测试用例 Input -> Output "10h01" Truthy "Nothing" Falsey "Acccca" Falsey "wow!" Falsey "wow" Truthy "H" Truthy "" Falsey 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

30
用三三代替二
给定一个正整数n编写一些代码来利用其因式分解和替换所有的因素,它2与3。 例如 12 = 2 * 2 * 3 -> 3 * 3 * 3 = 27 这是代码高尔夫球,因此目标是最小化答案的字节数。 测试用例 1 -> 1 2 -> 3 3 -> 3 4 -> 9 5 -> 5 6 -> 9 7 -> 7 8 -> 27 9 -> 9 10 -> 15 11 …

30
永远载入中……Windows风格
按照以下说明制作Windows样式的加载栏。 (请注意,这与Loading ... Forever不同) 您的输出应以开头[.... ]。 每次滴答,您都应等待100毫秒,然后将每个点向右移动一个字符。如果点在第十个字符上,则将其移至第一个字符。请注意,在再次输出之前,您应该清除屏幕。输出顺序如下: [.... ] [ .... ] [ .... ] [ .... ] [ .... ] [ .... ] [ ....] [. ...] [.. ..] [... .] ..然后它永远循环。 规则 这是代码高尔夫,所以最短答案会胜出,我怀疑我什至会接受一个成功答案 请尽可能提供加载栏的gif文件。

26
奇数偶数,正负数
给定N,输出此无限序列的第N个项: -1 2 -2 1 -3 4 -4 3 -5 6 -6 5 -7 8 -8 7 -9 10 -10 9 -11 12 -12 11 ... etc. 您可以根据需要将N索引为0或1。 例如,如果0索引然后输入0,1,2,3,4应该产生相应的输出-1,2,-2,1,-3。 如果1索引然后输入1,2,3,4,5应该产生相应的输出-1,2,-2,1,-3。 需要明确的是,该序列是通过将两次重复的正整数序列生成的 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 …

26
摩托车齿轮检查器!
你们中有些人可能熟悉摩托车的换档方式。但是对于那些不喜欢的人,看起来像这样 6 5 4 3 2 ñ 1个 现在,我想知道在执行几次上,下变速操作后我所处的档位。该程序应从中立开始。 输入样例: V^^ 样本输出: 2 如您所见,我从N降档至1,然后升至2档。 这是代码高尔夫球。以字节为单位的最短答案将获胜。 注意:输入可以是任何2个字符。可以是U和D表示上下,也可以是字符串。您不能超越1挡或6挡。如果您排在第六名并再次升档,它将保持在第六名。祝好运!
36 code-golf 

30
除法和余数
尽管在大多数“标准”语言中可能是微不足道的,但这一挑战是针对那些在本网站上很少见到的深奥,低级和/或难以使用的语言。它应该提供一个有趣的问题来解决,因此这是您尝试阅读的奇怪语言的机会! 任务 取两个自然数a和b作为输入,和其它输出两个数字:整数除法的结果a/b,并且这种除法的余数(a%b)。 这是代码高尔夫:每种语言的最短答案(以字节为单位)获胜! 输入输出 0 <= a<= 255,1 <= b<= 255。您的每个输入(以及输出)也都适合一个字节。 您可以为输入和输出选择任何喜欢的格式,只要可以清楚地区分两个数字即可(例如,没有定界符就不能同时打印两个结果) 例子 a,b->division,remainder 5,7->0,5 5,1->5,0 18,4->4,2 255,25->10,5 注意:禁止同时返回除法结果和余数的内建函数。至少向我们展示您的语言如何将两个函数应用于相同的参数。 注意2:与往常一样,非常欢迎您对代码的工作方式进行解释,即使您认为它易于阅读,其他人也可能不这么认为! 排行榜 这是一个堆栈片段,用于按语言生成获奖者概览。 为确保您的答案显示出来,请使用以下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), …

18
自动进行一年级的计数练习
CodeGolf挑战 PWSSHHHH!您在3000年的一个低温实验室中醒来。在押送至任务分配办公室以接收您的职业筹码(大概是送货员的职业筹码)后,探针会检测到您来自2000年。刻板印象,与当今的现代人相比,你被认为是愚蠢的,被迫重读小学。 您进入一年级教室,老师正在做作业。她会说或写一个不超过50的数字。如果她在黑板上写下该数字(例如:25),那么您必须说不超过该数字的数字“ 1、2、3,...,25 ”。如果她大声说出数字(例如:“六个”),则必须在平板电脑上将数字写成最大为“ 1、2、3、4、5、6” 这变得非常乏味,您决定使用仍在运行的21世纪原始编程知识来自动化该过程。 目的: 您的程序应该接受输入。该输入将是十进制数字(1 thru 50)或写出数字(one thru fifty)。 •如果输入为十进制数字,则您的输出应使用写出样式从一到该数字进行计数。(例如32个) •如果输入是写出的数字,则您的输出应使用小数形式从1计数到该数字。(例如32) 规则: 输入和输出可以在您选择的任何情况下使用(因此,如果需要,您可以制作一个仅接受大写字母的程序)。 输入的十进制数字不必是数字类型(例如int),它们可以是包含数字的输入字符串(25对“ 25”)。两种都很好,您可以选择要让程序接受的一种。(您的程序无需同时接受两者) 书面样式不需要复合词之间的连字符,但是如果需要,可以。 输出值必须以某种形式分隔,任何分隔符都可以 1,2,3 1 2 3 etc 您不能添加额外的库,例如num2words(python)等(但是系统库也可以) 即使背景故事说您来自2000年,您也可以使用在该日期之后创建的语言(lol) 这是代码高尔夫球,因此字节数最短的程序将获胜!

21
跨越袋鼠
背景故事 免责声明:可能包含有关袋鼠的虚假信息。 袋鼠穿越了几个发展阶段。随着年龄的增长和力量的增强,他们可以跳得更高和更长,并且在饥饿之前可以跳更多次。 在第1阶段,袋鼠很小,根本无法跳跃。尽管如此,还是不​​断需要营养。我们可以这样表示第1阶段袋鼠的活动模式。 o 在第2阶段,袋鼠可以跳一点,但饿之前不能超过2跳。我们可以代表一个阶段2这样袋鼠的活动模式。 o o o o o 在第2阶段之后,袋鼠会迅速改善。在随后的每个阶段中,袋鼠都可以跳得更高一点(在图形表示中为1个单位),并且是原来的两倍。例如,第3阶段袋鼠的活动模式如下所示。 o o o o o o o o o o o o o o o o o 对于阶段n,活动模式由高度为n的2 n-1个 V形跳跃组成。 例如,对于阶段4,有8个高度4的跳跃。 o o o o o o o o o o o o o o o o o …

30
按任意键继续
你的任务是创建一个程序,将显示下面的文本,等待用户按一个键(它是好的忽略像钥匙ctrl,alt,caps lock等,只要键,如letters,numbers,symbols,并enter没有忽略),然后终止程序: Press any key to continue... 尾随换行符是允许的。按下键后,程序必须立即退出。另外,该程序必须是可移植的(即,没有特定于操作系统的头文件或模块,不能在IDE外部运行,等等)。 提示必须与上面显示的完全一样,除非不能避免在结尾的换行符。 这是代码高尔夫球,因此最短的答案以字节为单位。这也是我的第一个代码高尔夫球问题,因此,如果我不了解PPCG规则,我深表歉意。
36 code-golf 

11
不同的任务,相同的角色
在此挑战中,您需要使用同一组字符解决4个不同的任务。您可以重新排列字符,但是不能添加或删除字符。 获奖者将是使用最少的字符数解决所有任务的提交物。所有任务必须以相同的语言解决。 请注意,这是最少数量的字符,而不是最少数量的唯一字符。 任务1: 输出的第一N每第三数的合数。下面的代码块在第一行中显示前19个复合数字,在下面的行中显示每个第三个复合数字。 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30 4, 9, 14, 18, 22, 26, 30 如果是N=5这样,则输出应为4, 9, 14, 18, 22。你必须支持1<=N<=50。 合成数字是不是素数或1的正数。 结果为N=50: 4, 9, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, …

8
帮助我疯狂的妻子装饰我们的圣诞树
可以说,我的妻子非常特别,尤其是在圣诞树上放置装饰品的时候。让我们给她一些代码,以帮助她在这个艰难的时期。 输入值 给定输入2 < n < 10的树的高度和0 < k < n不同数量的装饰品。 任务 当我们将装饰物包裹在树上时,装饰树的起始位置为,1然后增加k为。如果我们到达k并且我们有更多分支要装饰,则从开始1。 只要满足模式,树上每个装饰物的数量都可以不相同。 装饰品应显示在每个分支^的上方(顶行除外)。 树的结构是从一个分支开始,然后下一级有+ 1个分支,每个分支之间有一个间隔,从顶部开始交错排列,例如: ^ ^ ^ 对于第三行,您将再添加一个分支,然后再次交错它们,以使同一列上没有分支(如果您将其视为网格)。 ^ ^ ^ ^ ^ ^ 输出量 输出装饰的树。 例子 1。 n = 3, k = 2 ^ //Height is 3 ^ ^ ^ ^ ^ 现在我们装饰从1开始的每个分支,并递增到k: ^ 1 2 …

14
挑战数组2:分离嵌套数组
注意:这是一系列阵列操作挑战中的第二个问题。对于上一个挑战,请单击此处。 分隔嵌套列表 要在嵌套列表中分离值,请对其进行展平,然后包装每个值,使其与以前的嵌套深度相同。 也就是说,此列表: [1, [2, 3], [4, 4, [5, 2], 1]] 会成为: [1, [2], [3], [4], [4], [[5]], [[2]], [1]] 挑战 您的任务是编写一个程序,该程序将使用任何嵌套的正整数列表(在您的语言范围内)并执行此分离操作。 您可以提交将列表作为参数的函数,或者执行I / O的完整程序。 因为这是代码高尔夫球,所以最短的提交(以字节为单位)获胜!* *禁止使用标准的高尔夫球漏洞。你知道该怎么做。 测试用例 输入列表将仅包含您语言的标准整数大小的整数。为避免语言的限制阻止它们竞争,值的嵌套深度不得超过10。 您可以假定输入将没有空的子列表:例如- [[5, []]]将不给出。但是,主列表可能为空。 [] -> [] [[1, 2]] -> [[1], [2]] [3, [4, 5]] -> [3, [4], [5]] [3, [3, …

11
显示一个xkcd
xkcd是每个人都喜欢的网络漫画,您将编写一个程序,给我们大家带来更多的幽默感。 解决此挑战的目标是编写一个程序,该程序将数字作为输入并显示xkcd及其标题文本(复写文本)。 输入值 您的程序将以一个正整数作为输入(不一定是一个有效的漫画)并显示xkcd:例如,输入1500应该在xkcd.com/1500上显示漫画“ Upside-Down Map”,然后将其标题文本打印到控制台或与图像一起显示。 Due to their proximity across the channel, there's long been tension between North Korea and the United Kingdom of Great Britain and Southern Ireland. 测试案例2,n = 859: Brains aside, I wonder how many poorly-written xkcd.com-parsing scripts will break on this title (or ;;"''{<<[' this …

24
复数二进制数
让我们创建一个从正整数到高斯整数的简单的射影映射,高斯整数是复数,其中实部和虚部都是整数。 例如4538,给定一个正整数,以二进制形式表示,且不带前导号0: 4538 base 10 = 1000110111010 base 2 删除任何尾随0的: 100011011101 用一个替换任意一个或多个0的运行+: 1+11+111+1 更换所有1的用i的: i+ii+iii+i 计算结果复杂表达式并输出简化的高斯整数: i+ii+iii+i = i+i*i+i*i*i+i = 2i+i^2+i^3 = 2i+(-1)+(-i) = -1+i 输出可以用传统的数学方式表示,也可以用两个单独的整数表示实部和复杂部分。对于4538例如,任何这些就可以了: -1+i i-1 -1+1i (-1, 1) -1 1 -1\n1 对于像输入29,mathy格式化输出,诸如0,0i或0+0i都是细。 如果您的语言更自然,则使用j(或其他方式)代替i可以。 以字节为单位的最短代码获胜。

14
找到无限的话!
(注意:这是我以前的挑战“ 发现旋流词”的副产品!) 无限词的定义: 如果使用曲线连接字母(AZ)上无穷大字的所有字符,则将获得无穷大符号∞,如下图所示。 所有甚至连接必须下来,所有的奇数连接必须起来。 您可以忽略大写/小写或全部考虑/转换为大写或全部转换为小写。 输入的单词仅是AZ字母范围内的字符,没有空格,标点符号或符号。 每个单词必须正好是5个字符。单词> 5或<5无效。 如果单词具有两个连续的字符,则该单词无效,例如“ FLOOD”或“ QUEEN”。 所有无穷词以相同的字符开始和结束。 这里有一些例子: 任务: 编写一个完整的程序或函数,该程序或函数将从标准输入中提取一个单词,然后输出是否为无穷大字。输出可以是true / false,1 / 0、1 / Null等。 测试用例: Infinity Words: ALPHA, EAGLE, HARSH, NINON, PINUP, RULER, THEFT, WIDOW NOT Infinity Words: CUBIC, ERASE, FLUFF, LABEL, MODEM, RADAR, RIVER, SWISS, TRUST, KNEES, QUEEN, GROOVE, ONLY, CHARACTER, …
36 code-golf  string 

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.