编程拼图和代码高尔夫

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

4
马尔可夫链节拍发生器
前几天我只是有个主意:按照预定义的声音的马尔可夫链拍拍。 我记得有人用Google Translate和德语做了一个节拍盒(点击链接并按监听)。 因此,挑战在于如何从给定的链中为Google翻译构建文本输入。或者,您可以使用音符并自己演奏:)。 您可以使程序读取一条带有拍数的行,另一条读取其名称和几率的矩阵表示形式(可以选择表示形式)。 您也可以使用这三个参数来创建函数。 例如 [输入] 20 pv zk bschk kkkk [[.1, .4, .5, 0.], [.3, .2, .3, .2], [0., .3, .2, .5], [.1, .8, .1, 0.]] [输出]类似: pv zk bschk zk pv bschk zk pv zk bschk kkkk pv bschk zk bschk bschk bschk zk kkkk bschk …

3
组成Vim藜![关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 5年前关闭。 目标: 在Vim中创建并保存文件,至少包含25个ASCII字符。在创建和保存此文件期间使用的确切击键也必须在Windows记事本中产生相同的内容(不必保存在记事本中)。 规则: 为了解决这一难题,Vim开始以命令方式打开。 鼠标是不是允许。 Shift 被允许。Ctrl,alt或任何其他修饰键都不会允许的。 您的解决方案必须与Ubuntu 11.04或OS X 10.6.7(两者之一)一起提供的默认 “终端”(非GUI)Vim一起使用。假设此Vim .vimrc仅包含set nocompatible(其后没有换行符),其本身位于~/.vimrc。假设您的操作系统是在打开Vim之前刚刚安装的。 除了,您不得打开任何现有文件.vimrc。解决此难题时创建的任何文件都可以保存,并在必要时重新打开多次。 Vim无法关闭! 披露以及可能的结案理由:我没有解决方案。
16 quine  vim 

8
在编译时计算CRC32表[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 5年前关闭。 CRC32的参考实现在运行时计算查找表: /* Table of CRCs of all 8-bit messages. */ unsigned long crc_table[256]; /* Flag: has the table been computed? Initially false. */ int crc_table_computed = 0; /* Make the table for a fast CRC. */ void make_crc_table(void) { unsigned long c; …

8
最短,字典上最小的生成字符串
如果是的无限重复的子字符串,则字符串会x 生成一个字符串。例如产生。yyxabcbcabcab 编写程序以查找将生成输入的最短,字典最小的字符串。在标准输入上会为您提供单行文本。您应该将生成的字符串打印到标准输出。例如: 输入 bcabcabca 输出 abc 最短的代码获胜。您可以假设输入仅包含字符az(如果需要,还可以包含尾随换行符)。

10
Clojure打高尔夫的秘诀
使用Clojure打高尔夫球的技巧是什么? 这个问题的目的是收集特定于Clojure的技术列表,这些技术可用于一般的代码高尔夫问题。
16 code-golf  tips  lisp 

5
解决2-SAT(布尔可满足性)
一般的SAT(布尔可满足性)问题都是NP完全的。但是2-SAT(其中每个子句只有2个变量)位于P中。写一个2-SAT的求解器。 输入: 2-SAT实例,在CNF中编码如下。第一行包含V(布尔变量的数量)和N(子句的数量)。然后,紧接着N行,每行都有2个非零整数,表示子句的文字。正整数表示给定的布尔变量,负整数表示变量的取反。 例子1 输入 4 5 1 2 2 3 3 4 -1 -3 -2 -4 它编码公式(x 1或x 2)和(x 2或x 3)和(x 3或x 4)和(不是x 1或不是x 3)和(不是x 2或不是x 4)。 使整个公式为true的4个变量的唯一设置是x 1 = false,x 2 = true,x 3 = true,x 4 = false,因此您的程序应输出单行 输出 0 1 1 0 表示V变量的真值(从x 1到x V的顺序)。如果有多个解决方案,则可以输出它们的任何非空子集,每行一个。如果没有解决方案,则必须输出UNSOLVABLE。 例子2 …
16 code-golf 

9
2的幂的后k位
对于任何整数,都有一个2的幂,最后一个位数为1或2。r[Rrr[Rr 给定,找到最小的,使得仅包含1或2。r[RrxXx2xmod10r2X模10[R2^x\bmod{10^r} 对于r=2[R=2r=2,x=9X=9x=9,因为29=51229=5122^9=5\color{blue}{\textrm{12}} 对于r=3[R=3r=3,x=89x=89x=89,因为289=618970019642690137449562112289=6189700196426901374495621122^{89}=618970019642690137449562\color{blue}{\textrm{112}} 注意:r=4r=4r=4,xxx是=89=89=89(再次) 输入:r≤100r≤100r \leq 100 输出:xxx 例如。 输入:2 输出:9 输入:3点 :89 该程序应在合理的时间内运行。 编辑:此挑战的oeis序列是A147884。

30
毫不留情的数字
一个波状号码是一个号码,其中其数字之间交替向上和向下像下面的编号:461902或708143,或甚至1010101,但不是123,因为2 <3。 写一个程序或功能,如果一个数是它返回一个truthy值起伏,否则一个falsy值。最短的代码获胜。 注意:一位数字是有效输入,但不视为udulant,因此isUndulant对于n <10 ,返回false。

23
使用给定的括号缩进字符串
给程序以下输入: 块开始字符列表 块结束字符列表 要格式化的字符串 使用以缩进的两个字符集分隔的块来格式化字符串。 格式化是在每个级别上用两个空格完成的,并且括号的放置如下例所示。您可以假定开头和结尾字符集是不相交的。 例如{[(<,}])>作为和作为开始和结束字符集以及以下字符串: abc{xyz{text[note{comment(t{ex}t)abc}]}} 预期以下输出: abc { xyz { text [ note { comment ( t { ex } t ) abc } ] } } 您可能没有对“括号”字符列表进行硬编码。但是,没有指定输入方式。您可以根据需要使用命令行参数或通过标准输入。

6
计算2个数字之间的小数位数
假设我们有一个非负整数,如果其平均数字值大于7,则该整数为“重”(即“重”)。 数字6959是“沉重的”,因为: (6 + 9 + 5 + 9)/ 4 = 7.5 数字1234不是,因为: (1 + 2 + 3 + 4)/ 4 = 2.5 用任何语言编写一个函数, HeftyDecimalCount(a, b) 当提供两个正整数a和b时,它返回一个整数,该整数指示在[a..b](含)区间内有多少个“重”整数。 例如,给定a = 9480和b = 9489: 9480 (9+4+8+0)/4 21/4 = 5.25 9481 (9+4+8+1)/4 22/4 = 5.5 9482 (9+4+8+2)/4 23/4 = 5.75 9483 (9+4+8+3)/4 24/4 …

4
使用ASCII艺术图可视化长除法
编写一个程序,以可视化方式用ASCII艺术进行长除法。使用您选择的输入格式,输入由两个整数组成:分子和分母。 例子: 1234÷56: 22 ---- 56|1234 112 --- 114 112 --- 2 1002012÷12: 83501 ------- 12|1002012 96 --- 42 36 -- 60 60 -- 12 12 -- 0÷35 0 - 35|0 规则: 编程语言的除法运算符的用途是允许的。 也允许使用大整数支持。 为了保持一致: 如果商为零,则在跳水板的末端打印一个零。 如果余数为零,请不要打印。 不要在任何数字上打印前导零。 末尾多余的换行符和右边的尾随空格是允许的。 字符最少的解决方案获胜。 限制: 0 <=分子<= 10 72 - 1 1 <=分母<= 9999999 …

30
在VBA中打高尔夫球的技巧
类似于this,this和this问题... 您有哪些打高尔夫球的一般秘诀VBA?我正在寻找可以应用于编码高尔夫问题的想法,这些想法至少在某些方面是特定的VBA(例如,“删除评论”不是答案)。请为每个答案发布一个提示。 当我使用其他语言时,我的能力最强VBA,而且VBA在这个网站上我看不到有很多高尔夫球手在使用。
16 code-golf  tips  vba  basic 

4
JavaScript中最短的URL正则表达式匹配
创建最短的正则表达式,以在JavaScript中运行时与文本中的URL大致匹配 例: "some text exampley.com".match(/your regular expression goes here/); 正则表达式需要 捕获用于http和https的所有有效URL。 不必担心与实际上不是有效URL的URL查找字符串不匹配 super.awesome/cool 作为JavaScript正则表达式运行时有效 测试标准: 比赛: http://example.com http://example.com/ http://example.com/super https://example.com/super example.com/super example.com example.com/su-per_duper/?add=yes&subtract=no example.com/archive/index.html twitter.com/#!/reply example.com/234ret2398oent/234nth codegolf.stackexchange.com/questions/464 crazy.wow.really.example.com/?cat=nth%3E example-example.com example1.com 不匹配: 例 超酷 早上好 我可以 你好。 这是一个测试,可能有助于澄清一下http://jsfiddle.net/MikeGrace/gsJyr/ 对于缺乏清晰性,我深表歉意,但我没有意识到匹配URL多么糟糕。

8
计算模块化逆
给定两个正数x,并n用x<2^n写的最短的函数来计算x^-1 mod 2^n。换句话说,找到y这样x*y=1 mod 2^n。 您的功能必须至少在合理的时间内完成n=64,因此详尽的搜索将无法进行。 如果倒数不存在,则必须以某种方式向调用者指示(抛出异常,返回标记值等)。 如果您想从哪里开始,请尝试扩展欧几里得算法。
16 code-golf 


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.