Questions tagged «restricted-source»

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

2
仅5个符号的JSF ** k?
这不是一个挑战,而是一个问题,我认为这是一个话题,因为 与解决编程难题或特定类型的挑战有关的非挑战性问题也在主题中。 现在开始问题: 是否可以仅用5个字母编写任何JavaScript代码?JSFuck已经用6个符号执行此操作,!+[]()但我想知道是否!需要该字符。 JSFuck将强制转换为字符串(通过添加一个空数组),强制转换为数字(通过在前面写一个+)以及通过否定转换为布尔值的组合工作。例如: [] \\ Empty array +[] \\ Cast to number -> 0 !+[] \\ Negate -> true !+[]+[] \\ Cast to string -> "true" 从该字符串中,我们可以使用方括号(其中包含一个数字)提取所有字母,并且可以通过多次将true加在一起来制作任何数字。 像这样,可以找到很多字母,并将它们连接成字符串。能够创建的最重要的字符串是"constructor"因为它可用于Function从任何函数中获取,并且该对象可用于以JavaScript形式执行字符串: []["find"] \\ the function Array.prototype.find []["find"]["constructor"] \\ the Function object []["find"]["constructor"](string)() \\ same as eval(string) 如您所见,!这里有2种用法: 创建数字以从字符串中选择字母。 强制转换为布尔值以获取"true"和"false"。 这2个中的第一个也可以使用++增量器完成,而不是直接在上完成0,但可以在数组内的元素上使用: +[] …

14
用您喜欢的单词使代码平方
选择您喜欢的没有重复字母的 6字母普通英语单词,例如wombat。 在不带注释的N×N个字符的网格中编写程序,以使每一行和每一列都以小写形式以任意顺序包含单词的所有字母。该程序必须输出36个字符或更多字符的单词定义。 规则 输出到标准输出。没有输入。 您的单词必须在Dictionary.com上并且只能包含az。没有专有名词,缩写,缩写,紧缩。 您的程序和输出只能包含可打印的ASCII字符(十六进制代码20至7E)。(这不计入程序网格中的必要换行符。) 注释是编译器或解释器传统上忽略的任何内容。您可以使用对输出无贡献或未正式执行的代码。 输出定义应该是语法上和准确的,但肯定是有趣或聪明的。 至少包含单词的6个唯一字母小写的任何行或列均有效。对角线无所谓。 计分 这是代码高尔夫,但是由于所有提交的文件都必须采用相同的正方形格式,因此您可以简单地用N指定得分。最低的N获胜,当然N不能低于6。如果是平局,则以票数最高的答案为准。 例 如果您说的话,wombat您的程序可能如下所示(N = 7): wombatD ombatEw mbatFwo bat(wom atWwomb tBwomba )wombat 注意,每一行和每一列都有字符w o m b a t。 输出可能是:(40个字符) Cute short-legged Australian marsupials.

30
摇滚全天候
使用尽可能少的Unicode字符,打印以下内容(144个字符): 1, 2, 3 o'clock, 4 o'clock rock, 5, 6, 7 o'clock, 8 o'clock rock, 9, 10, 11 o'clock, 12 o'clock rock, We're gonna rock around the clock tonight. 除之外,您不得在代码中使用任何数字1。

23
手性难题
如果没有任何旋转量,形状看起来像镜像,则该形状是手性的。在这个难题中,我们将编写手性计算机程序。 对于这个难题,我们将程序视为字符的矩形矩阵。因此,应对这一挑战的所有解决方案都必须是矩形的(也就是说,所有线的长度必须相同)。我们可以按四分之一圈的增量旋转这些程序。例如程序 The quickish fish lept deftly rightwards 当顺时针旋转四分之一转时 T h r e i glq heu tpi wtc a k rdi des sfh t lf yi s h 我们也可以反映这些程序。这是在垂直轴上反映的同一程序: hsif hsikciuq ehT yltfed tpel sdrawthgir 手征性程序是这样的程序,当它旋转任意次数时,总是输出“ left”。但是,当反射时,right无论旋转多少次,该程序都会输出“ ”。 您的任务是编写一个尽可能少的字节的手性程序。 附加规则 输出不区分大小写,但应保持一致。(例如,您可以输出“ LEFT”和“ rIgHt”,但此大小写在旋转下必须保持一致) 行将在换行符或换行符和换行符之间进行拆分。 您的程序必须是矩形,可以用空格或注释填充它,但每一行的长度必须相同。 如果需要,您可以选择在所有程序上使用尾随换行符(或换行符和换行符)。

1
循环Levenquine
背景 正如大多数PPCG常规人员所知道的,quine是一个程序,在运行时会输出自己的源代码。而两个字符串之间的Levenshtein距离是将一个字符串转换为另一个字符串所需的最小插入,删除和编辑次数。在这个挑战中,我们将两个概念组合成一个“ levenquine”:一个程序输出自己的源代码,但插入,删除或替换一个不同字符的一个字符的一个实例。(换句话说,程序与其输出之间的Levenshtein距离为1。) 任务 编写一个levenquine,使其输出为levenquine,该程序的输出也为levenquine,依此类推。此外,在某些时候,重复运行程序,运行其输出,运行其输出的输出等的顺序最终必须返回到原始程序。 还有一个额外的限制使事情变得更加困难:在此循环内某个地方必须有两个不同的程序,它们没有共同的字符(换句话说,一个程序中没有字符,另一个程序中也没有字符)。因此,您的程序将不得不逐渐将自己转换为其他字符集,然后再次返回。 如果您使用的编程语言在任何产生输出的程序中都具有不可避免的样板(例如,它只有一种编写print语句的方式,而没有其他有用的输出形式),则可以出于该目的将该样板视为不存在确定两个程序有哪些共同点。但是,为了确定代码的Levenquine属性,您仍然必须计算该样板。 澄清说明 循环中的每个“程序”都可以是完整程序或功能。它们不必全部相同,例如,有些可能是完整程序,有些可能是函数。 并非周期中的所有程序都需要使用相同形式的输出。例如,有些可以通过标准输出输出,而有些可以通过标准错误输出。 您的程序将在没有输入的情况下运行(或以需要输入才能执行任何操作的语言,即最简单的输入)运行。 适当的奎规则。尽管Levenquine不是真正的奎因,但是在编写适当的奎因时,您可能不会做任何非法的事情。特别是,空程序永远不会是来自正确的Levenquine的有效输出(因此不能成为您循环的一部分)。 Levenquine限制是根据字符而不是字节来衡量的(例如,ê即使源是用UTF-8编码的,也是一个字符)。不常见字符限制也以字符进行度量。但是,胜利条件以字节为单位。 胜利条件 请从周期中至少提交以下三个程序:最短的程序(以字节为单位);循环中的两个程序没有相同的字符。这些中的两个可能是相同的,并且三个都可能是不同的。分数基于最短程序的字节长度,越短越好,因此成为一种代码高尔夫竞争。

30
输出编程语言名称
挑战: 在您选择的编程语言中,不输入任何内容,而是输出您的编程语言的名称。 足够公平吧? 限制条件: 您的代码中不能使用编程语言名称中包含的任何字符。例如,如果使用批处理,则不得在代码中使用字符'B''a't''c''h'。请注意,这是区分大小写的。我仍然可以使用字符“ b”,因为它与“ B”不同。 您可以在语言名称之前或之后使用“垃圾输出” 版本号不算作语言名称的一部分。例如,如果在Python 3中,我可以在答案中使用数字3 编程语言名称的输出不区分大小写。 禁止强行使用所有可能的字母组合,并希望您获得自己的语言名称。 示例输出:(假设我的编程语言称为语言)(✔如果有效,否则为✖) Language ✔ Body language is a type of non-verbal communication in which physical behavior, as opposed to words, is used to express or convey information. Such behavior includes facial expressions, body posture, gestures, eye movement, touch and …

30
闯入彩票
您最近在一个狡猾的赌博网站上开设了一个帐户,费用为25美元,他们会随机退还0到50美元。在两次获得5美元的收益后,您决定证明该网站是骗局。使用默认密码访问其外部防火墙后,您便可以进入其数据库服务器,并找到将最小和最大数量的值保存在何处。您决定将25'9's作为最大值插入,但是会收到一条错误消息,指出最大值必须为'uint64'类型。但是,现在您发现有些数字键似乎无法正确输入远程控制台。挑战似乎摆在您面前,几乎就像在Q + A网站上键入一样。 仅使用方便安装的程序测试和执行您的特定语言,输出无符号64位整数值的最大大小,但是,除编程工具外,几乎所有其他内容在本机上都损坏,因此您无需使用数字1, 2,4,6,8-在源代码或文字中,您还会注意到执行每段附加代码所需的程序似乎要花费成倍的时间,因此,如果您希望将其保持简短,最好想要在绘画之前致富! 挑战 编写一个程序,输出一个18446744073709551615(一个无符号的64位整数的最大值),可以是一个数字或单个字符串。 您的源代码不能包含任何字符“ 1”,“ 2”,“ 4”,“ 6”或“ 8” 如果您的语言没有无符号的64位整数或等效值,则输出可以采用字符串格式或其他格式,但必须为上述数字。 这是代码高尔夫,因此每种语言中最短的代码胜出!

4
乘以受限操作
击败目前最好的答案有500名非官方赏金。 目标 您的目标是仅使用一组非常有限的算术运算和变量赋值将两个数相乘。 加成 x,y -> x+y 倒数x -> 1/x(非除法x,y -> x/y) 求反x -> -x(不是减法x,y -> x-y,尽管您可以通过两个操作来完成x + (-y)) 常数1(不允许其他常数,除非由的操作产生1) 变量分配 [variable] = [expression] 评分:值以变量a和开始b。您的目标是使用尽可能少的操作将其产品保存a*b到变量中c。每个操作和分配都+, -, /, =花费一个点(等效地,每次使用(1),(2),(3)或(4))。常量1是免费的。最少的解决方案获胜。Tiebreak是最早的帖子。 允许:您的表达式必须在算术上对“随机”实数a和正确b。它可能在R 2的零测量子集上失败,即,如果在a- b笛卡尔平面中绘制,则该集合没有面积。(由于0类似的表达式的倒数,可能需要这样做1/a。) 语法: 这是一个原子代码高尔夫。不得使用其他操作。特别是,这意味着没有函数,条件,循环或非数字数据类型。这是允许的操作的语法(可能性用分隔|)。程序是<statement>s 的序列,其中a <statement>如下所示。 <statement>: <variable> = <expr> <variable>: a | b | c | [string of letters of …

30
在不使用正则表达式的情况下检查UUID是否有效
给定字符串输入,编写一个程序,如果输入是有效的UUID,则在不使用正则表达式的情况下将真实值打印到STDOUT或等效项。 有效的UUID是 32个十六进制数字,分为5组,用连字符分隔,以8-4-4-4-12的形式表示,总共36个字符(32个字母数字字符和4个连字符)。 资源 测试用例 0FCE98AC-1326-4C79-8EBC-94908DA8B034 => true 00000000-0000-0000-0000-000000000000 => true 0fce98ac-1326-4c79-8ebc-94908da8b034 => true 0FCE98ac-1326-4c79-8EBC-94908da8B034 => true {0FCE98AC-1326-4C79-8EBC-94908DA8B034} => false (the input is wrapped in brackets) 0GCE98AC-1326-4C79-8EBC-94908DA8B034 => false (there is a G in the input) 0FCE98AC 1326-4C79-8EBC-94908DA8B034 => false (there is a space in the input) 0FCE98AC-13264C79-8EBC-94908DA8B034 => false …

30
构造身份矩阵
挑战非常简单。给定整数输入n,输出n x n单位矩阵。单位矩阵是1从左上角到右下角的s 矩阵。您将编写一个程序或函数来返回或输出您构造的身份矩阵。您的输出可能是2D数组,或者是由空格/制表符和换行符分隔的数字。 输入和输出示例 1: [[1]] 2: [[1, 0], [0, 1]] 3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]] 4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] 5: [[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], …

30
真正的苗条遮荫
以尽可能少的字节回显以下内容: I'm Slim Shady. Yes, I'm the real Shady. All you other Slim Shadys are just imitating. So, won't the real Slim Shady please stand up? Please stand up. Please stand up. 以下五个单词必须在您的代码中完全出现一次: I'm Slim Shady real stand

30
字母数字Hello World [关闭]
您的目标是写“你好,世界!” (减去引号)。这是一场人气竞赛,因此最多的选民获胜。代码长度将用于打破平局。 只要符合以下规则,一切都会进行: 所有字符都必须是字母或数字,因此只能使用字符串“ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789”中的字符。 您使用的所有代码都必须在一个文件中,但导入的模块/类/以您喜欢的语言调用的任何内容除外。 仅允许使用您选择的语言的标准库/框架(例如,允许使用Python的Math模块,但不允许使用Numpy,Scipy和Pygame)。我将允许使用TkInter,因为它是Python中GUI的事实上的标准。 不允许输入,无论是从stdin读取,读取文件,显示图像还是从Web读取。 如果您弄清楚如何在Java中完成操作而又不违反规则,则可得到+10布朗尼点。 在您的标记上,设置代码! 编辑:括号({}),方括号([])和括号(())是允许的,因为如果没有它们,对于大多数语言来说这几乎是不可能的。我还要删除字符数限制规则。希望这会使它变得更有趣。 编辑^ 2:也允许空格。对不起,我的大脑无法正常工作。>。<

28
惊喜连连看
该问题是旨在庆祝Brain-Flak的第一个生日的系列Brain-flak Birthday挑战的一部分。您可以在此处找到有关Brain-Flak诞辰的更多信息。 今天是Brain-Flak的第一个生日!所以我想我们会举办一个惊喜的生日聚会。因此,以您喜欢的语言打印 Surprise! Happy Birthday, Brain-Flak! (允许尾随空格) 与往常一样,程序应该打高尔夫球。但是,由于Brain-Flak程序由方括号组成,因此不会将源中的任何方括号都计入您。(字符()[]<>{}不计入您的字节总数),但必须保持平衡,以免使Brain-Flak感到不适。 规则 这是规则的细分 您来源中的方括号必须保持平衡。那就是您的程序的括号必须用以下语法来表示: S -> SS | (S) | [S] | <S> | {S} | E E空字符串在哪里。 也就是说,平衡字符串要么是两个平衡字符串的串联,要么是在平衡字符串周围大括号,要么是空字符串。 程序的分数是非括号字节的数量。 您的目标应该是使自己选择的任何语言的得分降至最低。 应用标准规则,因此您可以编写完整的程序或函数。 如果出现平局,原始字节数将成为平局 在某些语言(括号地狱, 括号,Glypho和Lenguage)中肯定会有零字节的解决方案。尝试找到在这不是一件小事的语言中打高尔夫的好方法。

14
您需要输出其余部分的ASCII的最短连续子集是什么?
所述可打印的ASCII字符,以便(十六进制代码20至7E)为: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ (请注意其中有空间。) 从左到右读取时,此字符串显然包含所有可打印的ASCII字符至少一次,以升序排列,但不以降序排列。 字符串 REVERSED:~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! NORMAL: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 包含所有可打印的ASCII字符,至少按升序和降序一次。换句话说,当用数字代码对字符进行赋值时,最长的递增和最长的递减子序列的长度为95(可打印ASCII字符的数量)。 挑战 选择N个可打印ASCII字符的连续子集,例如LMNOP(N = 5)。像上面的示例一样,仅使用输出结果包含全部95个ASCII字符(按升序和降序)的N个字符编写程序。 获胜者是N最低的提交。如果是平局,则以字节为单位的最短代码获胜。 笔记 连续的子集表示一组全部以不间断的行出现的可打印ASCII,例如LMNOP或89:;<=>。 您的连续子集可能从~太空“循环” ,但这对N造成+3惩罚。因此{|}~N = 4,但{|}~ !N = 6 + 3 = 9。 您的程序可能只包含您选择的连续子集中的N个可打印ASCII字符。它们不必全部出现,并且可以任何顺序多次出现。(不允许所有不可打印的ASCII和所有非ASCII。这意味着不允许使用制表符和换行符。) 您的输出只能包含可打印的ASCII字符,并且必须少于10000个字符。 输出的最长的递增和递减子序列都必须具有长度95(如上所述)。 输出到标准输出。没有输入。 N是小于96的正整数。

15
确定您的源代码中的数字是否为2017易写的无素数
在我一直挑战的所有年份中,2017年是第一年。因此,问题将是关于质数及其性质。 您的任务是生成一个将任意大的正整数作为输入的程序或函数,并输出或返回该数字是否为2017易碎的数字,即该数字中最大的质数是否为2017或更小。 一些示例输入及其输出: 1 (has no prime factors) true 2 (= 2) true 80 (= 2 x 2 x 2 x 2 x 5) true 2017 (= 2017) true 2019 (= 3 x 673) true 2027 (= 2027) false 11111 (= 41 x 271) true 45183 (= 3 x 15061) …

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.