编程拼图和代码高尔夫

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

16
这个网站是关闭了还是仅我一个?
挑战 挑战很简单,使用http://isup.me来确定输入的网站是打开还是关闭。 如果站点已启动,则应返回真实值;如果站点已关闭,则应返回假值。 规则 输入将是网址,例如stackexchange.com或google.co.uk。输入将永远不会有http://,https://等字符串的开始,但可能有www.或codegolf.在启动等。 您应该使用isup.me/URL输入URL 的站点。 站点启动后,它将看起来像: http://isup.me/codegolf.stackexchange.com 如果站点关闭,它将看起来像: http://isup.me/does.not.exist 除isup.me之外,不允许使用URL缩短器。 输入示例 可能上升(取决于当前情况): google.de codegolf.stackexchange.com worldbuilding.meta.stackexchange.com tio.run store.nascar.com isup.me 将下降: made.up.com fake.com.us why.why.why.delilah store.antarcticrhubarbassociation.an 获奖 以字节为单位的最短代码获胜。

8
找到所有的字谜和子字谜!
这个问题很大程度上是基于这个问题,但是应该带来许多其他困难。 你的任务 您必须编写一个程序或函数,该程序或函数在接收到字符串时会打印出所有可能的字谜。出于这个问题的目的,一个字谜是一个字符串,它包含与原始字符串相同的字符,但不是原始字符串。子字谜是输入字符串的子字符串的字谜。字谜和子字谜不一定是或包含实际单词。 输入值 您可以通过任何标准输入法接受长度大于0的字符串。它可以包含任何ASCII字符。 输出量 您可以以任何标准方式输出输入字符串的所有可能的字谜和子字谜。您不得输出相同的字符串两次,也不能输出与输入相等的字符串。 其他规定 不允许使用标准漏洞 计分 这是代码高尔夫球,最少字节获胜。

3
读取密码:在手机上!
由于MD XF最近面临的挑战,我们现在可以读取许多不同语言的密码!问题是,现在我们需要将我们的应用程序移植到移动设备,并且它们的密码输入有所不同。 挑战 从键盘上读取一个字符串。 每次k输入一个字符时,都要短时间显示。 时间间隔过去之后,或者用户输入了另一个字符,请替换k为c。 规则 c必须恒定;它必须是相同的字符。 c 可以是任何可见字符(即不能是换行符,空格,制表符或不可打印的字符)。 c不能基于任何输入k; c必须在k读取第一个之前定义/常量。 c 每次运行程序时都必须相同。 ck只要遵守所有其他规则,它就可以是偶然给出的值之一。 您必须k实时打印。用户输入新内容后k,您必须立即显示它。 k更改为最终用户之前应该对最终用户可见c;时间间隔不得少于0.5秒。 k应c在合理时间内更换;时间间隔不得超过5秒。 输入新字符后,无论时间间隔是否到期,都应替换k为c并k立即使用输入的密钥作为新字符。 每次需要更改字符时都可以清除并重画屏幕。 您可以使用任何合理的输入和输出方法,只要遵循所有其他规则即可。 您可以假设输入的字符数永远不会超过终端/图形窗口的宽度。 如果使用终端,则应在输入换行符或到达EOF后终止程序。 您的程序应在移动和其他环境中均按此处概述的功能运行。 您的程序可能会假设输入将仅包含可打印字符(字母,数字,符号),并且可能包含终止换行符(无退格键,箭头键,删除键等)。 当按Ctrl + C时,您的程序可能会终止。 如果程序启动了一个窗口,则可以通过关闭窗口来终止程序。 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜! 例 这是一个外观示例。请注意,这是记录在移动平台上的,但也应在桌面平台上工作。
13 code-golf  string 

4
评估模块化电力塔
给定两个数字n和m,请评估无限大功率塔: n ^(n + 1)^(n + 2)^(n + 3)^(n + 4)^ ... mod m 请记住,^是右关联的。因此2 ^ 3 ^ 4 = 2 ^(3 ^ 4)。现在,您如何可能将一个值分配给无数个右联想运算符? 将f(n,m,i)定义为包含无限功率塔的前i个项的功率塔。然后有一个常数C,使得对于每个i> C,f(n,m,i)= f(n,m,C)。因此,您可以说无限大功率塔收敛于某个值。我们对此价值感兴趣。 您的程序必须能够在合理的现代PC上在不到10秒的时间内计算出n = 2017,m = 10 ^ 10。也就是说,您应该实现一个实际的算法,不要强行使用。 您可以假设您的编程语言中的数值限制为n <2 30和m <2 50,但是理论上您的算法必须适用于任何大小n,m。但是,对于这些大小限制内的输入,您的程序必须正确,如果输入在这些限制内,则不会原谅中间值溢出。 例子: 2, 10^15 566088170340352 4, 3^20 4 32, 524287 16

2
躲避你的死亡!
介绍 “ Muhuhuhahahah!” 疯狂的科学家笑了。“你被困在我自己的小游戏中!” 在您的前面是一个致命的蛇坑,而在您的后面是一个无底洞。没有出路,你被卡住了! “前面的两个台阶是蛇坑,后面的两个台阶是峡谷。但是!!在您移动之前,您必须写下一系列的步骤,向前和向后,然后交给我。但是!因为我“M感觉有点邪恶的今天,我可以让你走,而不是每一个步骤,每一个n个步骤,其中n小于你的序列长度! 现在就明智地选择。” 您即将死亡之前可以采取的最大步骤数是多少? 任务 上面的介绍是对Erdős差异猜想的一种扭曲,最近被证明是正确的(如果您想进一步了解这一点,请观看此视频,作者James Grime,我“偷走了”他的扭曲问题)。 简介的答案是11步骤,但我不会提供足够的证据。如果您与两个“危险”之间的距离3是1160阶梯,答案是阶梯,尽管尚未得到正确验证。 你的任务是使产生的,你可以实现一个更大的步骤的最长序列的程序x,在这里x是你和两个“危险”之间的步数。您的程序必须为此输入x,并输出有效的序列x。 就本挑战而言,它+代表前进的一步,也-代表前进的一步。 因此,输入的输出为2: +--+-++--++ 不管n疯狂的科学家选择什么,哪种方法都能起作用。对于我们的挑战,x = 5。 注意:此挑战不是此挑战或此挑战的重复,因为我的挑战侧重于输出,而不是代码本身,换句话说,这不是代码挑战。不仅如此,这些挑战基于x = 3,已经具有确定的上限。 规则: 您的整个程序应适合您的答案。但是,如果不合适,请提供其他Github存储库或类似的存储库。 如果可以通过优化代码获得更好的分数,则可以同时更新答案和程序,但是这样做必须更新下面列表中的所有内容。 在回答中,您必须具有: 整个程序或指向托管代码的GH存储库的链接 生成的步骤数- 这将是您的最终分数。 您还必须在Pastebin中或类似内容中提供序列的在线版本。这样我们可以检查您的答案。 您的最终分数的最新更新时间,因此我不必查看您的历史记录 您可能不会事先对序列进行硬编码。 您的程序必须对所有人都有效x(x您与坑与坑之间的步数是多少),但是您只需要提供的得分即可x = 5。 得分最高的答案将获胜!

1
Github Messenger
目标:该目标采用字符串并输出在哪一天应该显示多少信息才能显示消息。 规格 输入值 支持字母加空格(即[A-Za-z ]) 空格是空白 3X7 字母在下面提供的5x7 DOT矩阵字体中定义 每个字母的大小是最小外接矩形(例如l = 3x7,e = 5x5) 染色 有5种颜色 C0, C1, C2, C3, C4 CX需要Y与3X <= y < 3(X+1) 字母应在C1和之间交替C2 空间没有颜色 每个字母的大小应与相邻字母精确重叠一列 如果单元格的颜色超过一种,则使用 C3 点矩阵 点矩阵是Github的贡献历史记录图 如果今天是2017年5月1日,星期一: 4-30 5-07 5-15 [5-01] 5-08 5-16 5-02 5-09 . 5-03 5-10 . 5-04 5-12 . 5-05 …
13 code-golf  date 

4
最快近似公约数
总览 在此挑战中,您将获得两个数字,这两个数字的偏移量都比中等大小数字的倍数大。您必须输出一个中等大小的数字,该数字几乎是两个数字的除数,除了很小的偏移量。 涉及的数字大小将由难度参数来参数化l。您的目标是l在1分钟内最大可能地解决问题。 设定 在给定的问题中,将有一个秘密数字,p它将是一个随机l^2(l*l)位数字。将有两个乘数,q1, q2这将是随机l^3位数,并且将有两个偏移量r1, r2,这将是随机l位数。 程序的输入为x1, x2,定义为: x1 = p * q1 + r1 x2 = p * q2 + r2 这是一个用Python生成测试用例的程序: from random import randrange from sys import argv l = int(argv[1]) def randbits(bits): return randrange(2 ** (bits - 1), 2 ** bits) p = randbits(l ** …

7
旧的C代码转化器*
*什么是透湿剂? 在C编程语言中,存在称为二字和三字的形式,这是两个和三个字符序列,其结果为较不常见的字符。例如,??-如果您的键盘没有,则可以使用~。 给定文本,用正确的,较短的,打高尔夫球的角色(右侧)替换以下有向图和三联图的所有实例(左侧)。 ??= # ??/ \ ??' ^ ??( [ ??) ] ??! | ??< { ??> } ??- ~ <: [ :> ] <% { %> } %: # 资源 输入值 输入为ASCII文本。允许尾随换行符。不需要是有效的C代码。 输出量 输出是相同的文本,上面的二字和三字图的所有实例都被缩短的版本替换,从左到右评估。允许尾随换行符。不需要是有效的C代码。 测试用例 => 分离输入和输出。 if (true ??!??! false) { => if (true || false) { …
13 code-golf  string 

2
放大地图
您的任务是,在输入地图的情况下,根据比例将其缩小或放大。请注意,给出的规模是规模由放大了,所以0和1之间的规模将实际进行放大。 例如,给出以下(效果不佳)的地图: ..____.... ../OOO\... ..\OO/\... .......... 比例因子为2,您应该首先将其分成2x2的部分: .. | __ | __ | .. | .. .. | /O | OO | \. | .. ---------------------- .. | \O | O/ | \. | .. .. | .. | .. | .. | .. 在每个部分中找到最常见的字符: .__.. ..... 请注意,其中有一个不明确的部分: __ OO …
13 code-golf  string 

25
谐波序列的部分和!
定义 在数学中,调和序列是指其中 即序列的第n 个项等于n的倒数。 介绍 在这个挑战中,给定正整数n作为输入,输出谐波序列的前n个项的部分和。 输入值 系统会为您提供一个正整数(在您的语言支持的数字范围内)。它可以是有符号的和无符号的(取决于您),因为质询仅需要正整数。 您可以以任何方式接受输入,除非假定输入存在于预定义变量中。prompt()允许从文件,终端,模态窗口(在JavaScript中)等进行读取。也可以将输入作为函数参数。 输出量 您的程序应以5个有效数字的精度输出谐波序列的前n个项的总和作为浮点数(如果输出被1整除,则为整数),其中n表示输入。为了用数学术语传达相同的内容,您需要计算 其中n表示输入。 除了将输出写入变量之外,您可以通过任何方式输出。alert()允许写入屏幕,终端,文件,模式窗口(在JavaScript中)等。return也允许输出为函数值。 附加规则 输入数字可以是0索引或1索引。您必须在帖子中指定。 您不得使用内置函数来计算前n个元素的部分和。(是的,这是给您Mathematica的!) 您不得滥用本机数字类型来解决问题。 适用标准漏洞。 测试用例 测试用例假定输入为1索引 Input Output 1 1 2 1.5 3 1.8333 4 2.0833 5 2.2833 获胜标准 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

13
实施斐波那契喹
甲奎因是一个程序运行时,其输出其来源。 在这个挑战中,您应该制作一个斐波那契奎因(Fibonacci-quine),奎因的一种变体。 什么是斐波那契喹? Fibonacci-quine是一个程序,它通过以下规则输出对源的修改: 初始来源应为...2...。换句话说,来源应包含2。(为什么2?如果是1,没人会知道它是第一个还是第二个,甚至程序本身) 运行时,您应该输出源,但是只有特定数字(在此阶段为2)更改为斐波那契数列的下一个数字。例如,...3...。输出和输出等也一样。您最多可以支持2 ^ 32-1的整数。对于超出该限制的整数,可以选择下一个输出。 OP的笔记 我真的很想看到一个有创意的解决方案。我想不出一个单一的解决方案,因为挑战的两个重要方面,斐波那契和奎因,都不容易。那我等一下!

30
指定索引处的字符串元素
给定一个字符串s和一个n小于其长度的非负数s,请在的n第-个位置输出字符s。 允许0索引和1索引。对于1分度,n将为正且小于或等于的长度s。 s 将仅包含可打印字符。 允许任何合理的输入/输出。有标准漏洞。 测试用例(0索引): n s output 0 "abcde" a 1 "abcde" b 2 "a != b" ! 3 "+-*/" / 4 "314159" 5 测试用例(1-索引): n s output 1 "abcde" a 2 "abcde" b 3 "a != b" ! 4 "+-*/" / 5 "314159" 5 这是代码高尔夫球,因此最短答案以字节为单位。
13 code-golf  string 

7
找到一组最大匹配边
考虑一个连接的无向图。甲边缘的匹配组在此图被定义为一组边,使得在该组共享的任何两个边缘公共顶点的。例如,左图表示绿色的匹配集,而右图表示红色的不匹配集。 匹配集称为maximally matching,maximal matching如果不可能将图的另一条边添加到匹配集,则为。因此,以上两个示例都不是最大匹配集,但是下面两个蓝色的集合都是最大匹配。请注意,最大匹配不一定是唯一的。此外,不要求图形的每个可能最大匹配的大小都应等于另一个匹配。 挑战的目标是编写程序/函数以找到图形的最大匹配。 输入值 假设输入图的所有顶点都有一些连续的整数编号,这些编号从您选择的任何起始整数值开始。一条边由表示该边连接的顶点的无序整数对来描述。例如,上面显示的图形可以使用以下无序边集来描述(假设顶点的编号从0开始): [(0,1), (0,2), (1,3), (1,4), (2,3), (3,4), (3,5), (5,6)] 描述图的另一种方法是通过邻接表。这是上图的邻接表示例: [0:(1,2), 1:(0,3,4), 2:(0,3), 3:(1,2,4,5), 4:(1,3), 5:(3,6), 6:(5)] 您的程序/函数必须从任何来源(stdio,函数参数等)获取图形作为输入。只要没有其他无关紧要的信息传达给您的程序,您就可以使用所需的任何符号。例如,一个额外的参数表示输入边的数量是完全可以接受的。类似地,传入无序的边,邻接表或邻接矩阵的多集也可以。 您可以假设: 图形已连接(例如,可以在给定任何起始顶点的情况下到达任何顶点)。 至少有一条边缘。 边永远不会将顶点直接连接到自身(例如,边(1,1)不会作为输入提供)。请注意,循环仍然可能(例如:上图)。 您可能需要输入顶点从任何索引处开始(例如,第一个顶点可以是0、1,-1等)。 顶点编号从您选择的起始索引开始按顺序增加(例如:1,2,3,4,...或0,1,2,3,...)。 输出量 您的程序/函数应输出表示最大匹配集的边列表。一条边由该边连接的两个顶点定义。例如 左蓝色组的输出(使用示例输入顶点顺序): [(1,4), (2,3), (5,6)] 注意,顶点的顺序并不重要。因此,以下输出描述了相同的匹配集: [(4,1), (2,3), (6,5)] 输出可能是到stdout,文件,函数返回值等。 例子 这是一些示例输入(使用邻接表格式)。这些示例碰巧开始在处计算顶点0。 请注意,没有给出示例输出,而是提供了Python 3验证代码。 [0:(1), 1:(0)] [0:(1,2), 1:(0,3,4), 2:(0,3), …

1
帮助哥德尔实现β函数[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 2年前关闭。 哥德尔的β函数采用三个自然数作为参数。 定义为 β(x,y,z) = rem(x, 1 + (z + 1) · y) = rem(x, (z · y + y + 1) ) 其中rem(a,b)表示a除以b的整数后的余数。 β引理现在指出: 对于任何自然数序列(k_0,k_1,…,k_n),都有自然数b和c使得对于每个i≤n,β(b,c,i)= k_i。 哥德尔需要帮助找到b并c对于任何给定的输入(k_0, k_1, … , k_n), k_i ∈ ℕ。 编写一个函数,该函数接受一个长度为length的数组n,并用自然数填充,并给出b,c满足该数组的引理的可能输出。 不要用蛮力获得解决方案! (根据我完全不专业的观点,当您首先获得一个数字然后进行计算时,这是蛮力的。这是在猜测数字,然后看猜测是否正确。我想在这里编码的是一种解决方案数,并且不必检查它们是否满足引理,因为它们是故意这样做的。) 用给出的方程式和信息构造它们。最短的代码获胜,如果您这样做,将获得加分,Javascript因为我只是参与其中:) 例: [5, 19, 7, 8] -> (1344595, 19) 1344505 …

18
SE何时会下跌?
SE将在今天 2017-05-04 00:00 UTC直到00:20 UTC 关闭/只读。 您的挑战是,如果SE为Down /只读状态,则输出真实值,而如果SE为非只读,则输出错误值。您可能没有任何输入,并且必须使用日期内置函数来确定SE是否为down /只读(实际上不查询SE api!)示例输出: 12:34 UTC 03 May 2017 -> false 00:00 UTC 04 May 2017 -> true 00:20 UTC 20 May 2017 -> undefined, see below 这是未定义的行为,因为它离时间窗口太远了。明确地说,您可以假设您的程序将从8:00今天(5/3/17)的UTC 运行到1:00明天(5/4/17)的UTC 。 00:21 UTC 04 May 2017 -> false 00:20 UTC 04 May 2017 -> true …

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.