Questions tagged «restricted-source»

对用于解决挑战的源代码施加了限制,例如,源代码中没有数字。

16
确定整数是否可被3整除
您的目标是确定数字是否可被3整除而不使用条件句。输入将是一个从0到255的无符号8位数字。鼓励创新! 您只能使用 平等/不等式(==,!=,>,<,>=,<=) 算术(+,-,x) 逻辑运算符(!非,&&和,|| 或) 位运算符(~未,&和,|或,^异或,<<,>>,>>>算术和逻辑左和右移位) 常量(如果保持较小的值会更好) 变量分配 0如果为假,1则输出,如果为真。 适用标准原子代码高尔夫球规则。如有任何疑问,请在评论中保留。示例方法在这里。令牌是以上任何一种,但不包括常量和变量。

21
使用集合论的字符串长度
摘自Wikipedia 对自然数的集合理论定义 自然数的集合N定义为包含0且在由S(n)= n∪{n}定义的后继函数S下闭合的最小集合。 用这种方式定义的前几个数字是0 = {},1 = {0} = {{}},2 = {0,1} = {{},{{}}},3 = {0,1,2 } = {{},{{}},{{},{{}}}}。 使用自然数的此定义计算字符串的长度。 输入 任意长度的a-zA-Z中的字符串 以设置符号输出字符串的长度,不带分隔符 例子 输入 空字符串 输出 {} 输入 一个 输出 {{}} 输入 aaaa 输出 {{} {{}} {{} {{}}} {{} {{}} {{} {{}}}}} 为了提高可读性,输出带有分隔符的“ aaaa”是 { {} {{}} {{} …

3
JSFuck高尔夫-Hello World
JSFuck是一种深奥的语言,在该语言中,任何Javascript语句都可以准确地复制到另一个仅使用6个字符的有效Javascript程序中[]()!+。 当给JSFuck转换器输入时alert("Hello World!"),它会生成一个代码块,该代码块长22,948个字符。因为该程序使用了大量的自动转换来创建该块,所以我相信使用手动优化可以使代码更短。 您的任务是构建alert("Hello World!")仅使用字符执行任务的Javascript程序[]()!+。这样做的最短代码将获胜。

19
使用矩形代码检测矩形文本
给定一串可打印的ASCII文本(包括换行和空格),该字符串包含至少一个既不是换行也不是空格的字符,如果该字符串是矩形,则输出真实值,否则输出假值。此外,您的解决方案的源代码必须为矩形。 如果字符串满足以下所有条件,则为矩形: 第一行和最后一行不包含空格。 每行的第一个和最后一个字符不是空格。 所有行具有相同数量的字符。 例如,以下文本是矩形: abcd e fg hijk 但是,该文本不是矩形(要求3): 1234 567 8900 测试用例 真相: sdghajksfg asdf jkl; qwerty u i op zxcvbn 1234 5 6 7890 abcd e fg hijk 虚假: a b c 123 456 7 9 12 345 qwerty uiop zxcvnm 1234 567 8900 这是代码高尔夫球,因此以字节为单位的最短解决方案为准。

8
反向插入排序
目的 根据“ 插入排序”对列表进行排序的动作,生成原始的加扰列表。原始列表将包含从0到N-1(包括)的所有数字,其中N输入的大小。 输入项 一个包含对列表进行排序的必要动作的列表。每个值代表由原始数字(加扰的数字)移位到其右位置的插槽数量,请记住,此过程是从左到右。输入列表 中(0索引)位置的值i将介于0和之间i。 您不需要处理无效的输入,在这种情况下,任何行为都是可以接受的(崩溃,无限循环等)。 输出量 混乱的名单 逐步生成动作 Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

6
数字符-点点滴滴!
简单的部分:给定仅包含可打印ASCII字符(空格-波浪号)的输入字符串,计算每个字符的出现次数并以任何方便的格式返回结果。字符串的结果a%hda7a应类似于:a:3, %:1, h:1, 7:1, d:1。排序是不必要的,定界符和格式是可选的,但必须易于理解哪个数字对应哪个字符。输入的字符串中不得包含字符(a:3, b:0, c:0, d:1, ...不正确)。 真正的挑战: 将代码中的每个字符转换为8位二进制数(如果使用的是UTF-16或类似格式,则转换为16位),并枚举每个字符0。 对于每个字符(i是枚举数),- i%7bit 1 必须为1。这些位从右开始编号。其他所有位都可以是您想要的。 让我们以以下代码为例: [f]-xif)#f 将其转换为二进制,我们得到下面的数组。第一个数字(表示[有1在第0位置,这样一方面是OK。第二个数字(表示f有1在第1'位置,所以,一个是OK了。继续这样下去,你会看到上面的代码是有效的。 C 76543210位号 --------- ---------- [0101101 1 0-确定 f 011001 1 0 1-确定 ] 01011 1 01 2-确定 -0010 1 101 3-好 x 011 1 1000 4-好 i 01 1 01001 5-好 f …

27
8应该成为无穷大[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 让我们看一个典型的循环,该循环通常执行8次迭代: for (int x=0; x<8; ++x); 您必须使其无限! 对于所有支持这种循环形式的语言,这都是一场流行竞赛for。因此,得分最高的解决方案(支持率减去支持率)将获胜。 如果您的语言有其他for循环形式,但是您可以肯定,可以用它来做些很酷的事情,可以随时发布答案并将其标记为不竞争。我保留扩大可用结构和语言范围的权利,但绝不会缩小,因此不要担心放弃以前正确的解决方案。 什么是解决方案? 解决方案由两个程序组成。 第一个程序是干净程序。这是您语言中的典型程序,for循环进行8次迭代。它应该是普通程序,任何开发人员都可以编写。没有用于准备目的的任何特殊技巧。例如: int main() { for (int x=0; x<8; ++x); return 0; } 第二个程序被增强。该程序应包含干净程序中的所有代码以及一些其他代码。扩展点数量有限,有关详细信息,请参见完整规则部分。上面一个干净的增强程序可以是 inline bool operator < (const int &a, const int &b) { return true; } int main() { for (int x=0; x<8; ++x); return …

10
使用尽可能靠近的键打印QWERTY键盘
通常,挑战以字节计分,有时以Levenshtein距离计分,但是对于这一点,我们使用键盘距离-用来键入程序的键之间的键数(使用上面的键盘作为权威参考)。例如,之间的距离A和F为3时,因为路径A=> S=> D=> F。之间的距离N,并5为4,因为无论你采取什么样的路径,它至少需要4个步骤。您的任务是输出以下内容(不包括尾部空格),并尽可能减小键盘距离: Q W E R T Y U I O P A S D F G H J K L Z X C V B N M 包装: 为了使您的生活更轻松,某些键可以环绕键盘。Left Shift余套Right Shift,Caps Lock余套Enter,Tab余套\及~余套Backspace。例如,之间的距离Q和P为5,因为Q=> Tab=> \=> ]=> [=> P。 注:包装只能水平-你可以不从,步说,\到Caps Lock 得分: 分数=键盘距离+字节数 计算示例: print(5); p=> r== 6 r=> …

6
+!()[]脚本中的斐波那契
编写一段JavaScript代码,然后alert按顺序调用包含前50个斐波那契数字的数组。您只能使用以下字符:+!()[]。 作为参考,您的代码必须在功能上等于以下内容: var fib = [], a = 1, b = 1; for (var _ = 0; _ < 50; _++) { fib.push(a); var t = a; a = b; b = t + a; } alert(fib); 您可能不会假设网页上有任何内容-您的程序将在上的控制台中运行about:blank。同样,您也不能“欺骗”并将任何设置存储在Cookie,设置或其他数据中。您的解决方案必须可以在任何操作系统上全新安装最新的Google Chrome 或 Firefox时使用。如有疑问,请尽量保持便携性。 以字节为单位的最小源代码获胜。

13
谢尔宾斯基层
首先,/\您可以通过在下面添加一条线来创建类似于Sierpinski三角形的图案,从而... 任何松散的分支/或\再次分裂为两个分支:/\。 分支的任何碰撞都将\/死,其下无任何东西(只有空格)。 重复这些规则将产生 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... (ViHart的启发) 编写一个程序或函数,该程序或函数接受一个正整数N,并将此模式的前N行打印到stdout,且前导或尾随空格不超过所需数量。 例如,如果输入是1输出,则必须为 /\ 如果输入是2输出,则必须为 /\ /\/\ 如果输入是8输出,则必须为 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等等。 字节最少的代码获胜。

30
在64位整数中找到前导零的数目
问题: 在64位有符号整数中找到前导零的数目 规则: 输入不能视为字符串;数学和按位运算可以驱动算法的任何事物 无论使用哪种语言,都应针对数字的64位带符号整数表示形式验证输出 高尔夫球场默认规则适用 以字节为单位的最短代码获胜 测试用例: 这些测试假定二进制补码有符号整数。如果您的语言/解决方案缺少或使用带符号整数的其他表示形式,请注明出来并提供其他可能相关的测试用例。我已经提供了一些解决双精度问题的测试用例,但是请随时建议其他应该列出的用例。 input output 64-bit binary representation of input (2's complement) -1 0 1111111111111111111111111111111111111111111111111111111111111111 -9223372036854775808 0 1000000000000000000000000000000000000000000000000000000000000000 9223372036854775807 1 0111111111111111111111111111111111111111111111111111111111111111 4611686018427387903 2 0011111111111111111111111111111111111111111111111111111111111111 1224979098644774911 3 0001000011111111111111111111111111111111111111111111111111111111 9007199254740992 10 0000000000100000000000000000000000000000000000000000000000000000 4503599627370496 11 0000000000010000000000000000000000000000000000000000000000000000 4503599627370495 12 0000000000001111111111111111111111111111111111111111111111111111 2147483648 32 0000000000000000000000000000000010000000000000000000000000000000 2147483647 33 0000000000000000000000000000000001111111111111111111111111111111 2 62 …

12
颠簸
您的任务是编写一个计算机程序或函数,该程序或函数采用长度至少为2的正整数列表,并确定它们是否为“ zigzag”。当且仅当数字交替地大于和小于其前面的数字时,序列才为之字形。例如和是曲折形,但和不是。[ 1 ,2 ,0 ,3 ,2 ][1个,2,0,3,2][1,2,0,3,2][ 4 ,2 ,3 ,0 ,1 ][4,2,3,0,1个][4,2,3,0,1][1,2,0,0,3,1][1,2,0,0,3,1][1,2,0,0,3,1][ 1 ,2 ,3 ,1 ][1个,2,3,1个][1,2,3,1] 根据您的决定,应为每种可能性输出两个不同的一致值之一(之字形而不是之字形)。 程序或函数的代码点本身也必须是Z字形。这意味着当您采用代码点序列时,它应该是锯齿形的。 这是代码高尔夫球,因此答案将以字节计分,而字节越少越好。

4
一周中压缩的天数
输入星期几列表,则输出列表中最短的排序表示形式。 输入的格式是由一个或多个双字符子串的字符串Su(星期日), Mo(星期一), Tu(等), ,We,Th, Fr和Sa。输入不一定必须以排序的顺序给出。 要将输入转换为输出格式, 从星期天开始按星期几对输入进行排序(例如ThMoSaSuFrTuWe-> SuMoTuWeThFrSa)。 如果不引起歧义,请将缩写词减少到一个字母。例如,之所以SuMoTuWe成为,SMTW是因为第一个S不可能在星期六,因为这样会使输出未排序(与T相同)。但是,ThFrSa应该成为ThFS,因为星期二和星期四都在星期五之前,并将其减小以TFS产生歧义。 如果输出为now MTWTF,则D改为输出(代表“ 工作日 s”)。同样,SS应该成为E一周结束。最后, SMTWTFS应该成为A对所有天。 输入和输出都必须是单个字符串。 由于这是code-golf,因此以字节为单位的最短代码为准。 测试用例: In Out | In Out -----------------------|-------------------- SuTu STu | SuTuWe STW SuTuSa STuS | SuWeTh SWT TuThSa TTS | TuThSu STT Su Su | Sa Sa WeTh WT | FrTh ThF WeTu …

5
jQuery摊牌
这次事件过了一段时间…… 有一些的我们谁是对的jQuery这个玷污顺序。这是一个邪恶的存在,必须消灭它。因此,我呼吁忠于新改革国度的人们制定一个消除这种阻力的计划。必须对所有代码进行验证并搜索jQuery的任何和所有踪迹。而且,当然,您的提交内容必须简短(又有预算削减,不幸的是,这是在存储部门进行的)。并且它不能具有带分隔符的字符。 为使您快速入门,请使用下列字符中的任意一个来定义字符:jJqQuUeErRyY$x0。如上所述,即使在您自己的程序中,也严禁使用这些字符。所以不要使用它们。我们也可以接受美元符号的数字。因此,任何形式的n+(.nn)*$都可以(您仍然不应该使用0。) 您的程序/代码/等 必须验证输入程序。如果它包含任何限定字符,您必须输出This programmer is guilty of Heresy. He must be burnt.; 如果找不到此类字符,则必须输出Program validated. Clearance level 2 given.。 奖金和罚款 我个人很欣赏这个角色~。对于您使用的每两个,我给您-1个字节。(即彼此~免费。) 您可以从排除的字符中选择一个字符;不过,您可能会在所有情况下都使用此字符,但是,该字符的每个实例都会有+ 50%的字节初始罚款,然后有+5字节的罚款。 -90%,如果您未jquery在源代码中使用任何相邻的字符(为了安全起见)。这些是(另外):iIkKpPsSzZXdDfF 如果给定一个无效的字符串并输出上述文本时,如果-运行1 替换了所有无效字符,*并且运行了小于10的字符串,并且替换了所有[]不再运行的字符串,则为-20%。 -50字节(如果找不到JavaScript/i或Simplex带有转义字符)。 参考实施 function validate() { var str = document.getElementById("input").value; var str2 = str.replace(/[jquery0]/gi,"").replace(/x/g,"").replace(/(\d+\.*\d*\d*\$)|\$/g,"$1"); // thanks Doorknob! var val; if (str2 == str) { …

4
打印代码的负号
(这是“ 打印否定代码”的一种变体,我很喜欢它!感谢MartinBüttner♦ -几乎所有文本都是他的。) 让我们考虑这些符号为以下可打印的ASCII字符(请注意其中包含空格): !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ 和字母数字是这些: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 考虑边长为N的正方形可打印ASCII字符,如下所示: ONE, {two} &3,+= !four f|ve. 我们还要求每一行和每一列至少包含一个符号和一个字母数字。(以上示例满足了此要求。) 我们将此类正方形的符号负数定义为相同大小的正方形,其中每个符号均被字母数字代替,反之亦然。例如,以下将是上述示例的有效符号否定符号: [&]OK a...b 1/100 i@#$% (R) z 特定字符的选择无关紧要,只要它们在上述类别中即可。 挑战 您的任务是编写一个边长为N> 1的方形源代码程序,该程序会将其源代码的符号负输出到STDOUT。必须打印尾随空格。您可能会或可能不会打印单个尾随换行符。 普通的规则也适用,因此您不得直接或间接阅读自己的源代码。同样,您不能假定REPL环境会自动打印每个输入表达式的值。 获胜者是边长最小的程序。如果出现平局,则以源代码中符号最少的提交为准。如果仍然有平局,则最早的答案会获胜。

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.