Questions tagged «decision-problem»

对于涉及确定输入是否满足特定条件的挑战,以及输出代表该决策的一些数据。

30
是独眼巨人号码吗?“没人知道!
任务: 给定一个整数输入,找出它是否是一个独眼巨人数。 您可能会问,什么是独眼巨人号码?嗯,这是一个数字,其二进制表示0的中间只有一个! 测试用例: Input | Output | Binary | Explanation -------------------------------------- 0 | truthy | 0 | only one zero at "center" 1 | falsy | 1 | contains no zeroes 5 | truthy | 101 | only one zero at center 9 | falsy | 1001 | contains …


30
这是偶数还是奇数?
注意:尚未出现香草奇偶校验测试的挑战(存在C / C ++挑战,但不允许使用C / C ++以外的语言,而其他非香草语言也大都关闭了),所以我要发布一。 给定一个正整数,以真/假值输出其奇偶校验(即,如果数字是奇数或偶数)。您可以选择真实结果是对应于奇数输入还是偶数输入。 例子 假定真/假为偶数和奇数(这不是必需的,您可以分别使用其他“真/假”值): (Input):(Output) 1:False 2:True 16384:True 99999999:False 排行榜 显示代码段 var QUESTION_ID=113448,OVERRIDE_USER=64499;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){var F=function(a){return a.lang.replace(/<\/?a.*?>/g,"").toLowerCase()},el=F(e),sl=F(s);return el>sl?1:el<sl?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i; body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px} <script …

11
只有偶数字节
场景 最近,您一直在使用自己喜欢的文本编辑器注意到一些奇怪的行为。最初,似乎在写入磁盘时会忽略代码中的随机字符。一段时间后,您注意到了一种模式。ASCII值奇数的字符将被忽略。经过进一步检查,您发现只有每八位为零时,才能正确写入文件。现在,您需要知道您的重要文件是否已受到此奇怪错误的影响。 任务 您必须编写一个完整的程序来确定文件是否包含奇数个字节(表明文件未损坏)。但是由于使用了文本编辑器,因此无法在源代码中写入任何奇数字节。您可以假定输入已经存在任何编码,但是您仍然必须检查每个字节,而不仅仅是字符。 输入项 您的程序将从stdin或命令行获取文件的内容或文件的路径。 输出量 如果给定文件包含一个奇数字节,则程序将向stdout输出一个真实值,而如果每八位为零,则该程序将向fsy输出一个stdout。 标准 这是代码高尔夫,是完成任务的最短程序。要成为有效提交,文件源代码中的每八位必须为零。我建议您在提交的文件中包含源代码二进制文件的副本。 有标准漏洞。 测试用例 (以ASCII编码)输入: "$&(*,.02468:<>@BDFHJLNPRTVXZ\^`bdfhjlnprtvxz|~ Output: falsy Input: !#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{} Output: truthy Input: LOREMIPSVMDOLORSITAMETCONSECTETVRADIPISCINGELITSEDDOEIVSMODTEMPORINCIDIDVNTVTLABOREETDOLOREMAGNAALIQVA VTENIMADMINIMVENIAMQVISNOSTRVDEXERCITATIONVLLAMCOLABORISNISIVTALIQVIPEXEACOMMODOCONSEQVAT DVISAVTEIRVREDOLORINREPREHENDERITINVOLVPTATEVELITESSECILLVMDOLOREEVFVGIATNVLLAPARIATVR EXCEPTEVRSINTOCCAECATCVPIDATATNONPROIDENTSVNTINCVLPAQVIOFFICIADESERVNTMOLLITANIMIDESTLABORVM Output: truthy 提示 明智地选择语言并非每种语言都可能会遇到这种挑战 Unix命令xxd -b <file name>会将文件的二进制文件打印到控制台(以及一些其他格式化内容) 您可以使用ASCII以外的其他编码,例如UTF-8,只要遵守所有其他规则

30
检查单词是否同构
两个词是同构,如果他们有字母重复相同的模式。例如,两个ESTATE和DUELED都有模式abcdca ESTATE DUELED abcdca 因为字母1和6相同,所以字母3和5相同,仅此而已。这也意味着单词由替换密码(此处与match)相关E <-> D, S <-> U, T <-> E, A <-> L。 编写包含两个单词并检查它们是否同构的代码。最少的字节数获胜。 输入:两个非空的大写字母字符串A..Z。如果愿意,可以将它们作为两个字符串的集合或带分隔符的单个字符串。 输出:一致的Truthy值的对,是同构,并一致Falsey值,如果他们不。不同长度的字符串是有效输入,绝不为同形。 测试用例: 真正: ESTATE DUELED DUELED ESTATE XXX YYY CBAABC DEFFED RAMBUNCTIOUSLY THERMODYNAMICS DISCRIMINATIVE SIMPLIFICATION 假: SEE SAW ANTS PANTS BANANA SERENE BANANA SENSES AB CC XXY XYY ABCBACCBA ABCBACCAB ABAB CD …

30
用2个输入和1个输出打高尔夫球所有16个逻辑门!
例如,该门A and B是具有2个输入和1个输出的逻辑门。 正好有16个,因为: 每个逻辑门有两个输入,可以为真或假,为我们提供4个可能的输入 在这4种可能的输入中,每一种都可以有一个真实和错误的输出 因此,有2 ^ 4个可能的逻辑门,即16。 您的任务是编写16个程序/功能,分别实现它们。 您的功能/程序必须独立。 只要它们输出true / falsey值,它们就有效,这意味着即使为和生成,您也可以A or B在Python中实现。lambda a,b:a+b2A=TrueB=True 分数是用于每个功能/程序的总字节数。 逻辑门列表 0,0,0,0(false) 0,0,0,1(and) 0,0,1,0(A and not B) 0,0,1,1(A) 0,1,0,0(not A and B) 0,1,0,1(B) 0,1,1,0(xor) 0,1,1,1(or) 1,0,0,0(nor) 1,0,0,1(xnor) 1,0,1,0(not B) 1,0,1,1(B implies A) 1,1,0,0(not A) 1,1,0,1(A implies B) 1,1,1,0(nand) 1,1,1,1(true) 其中第一个数字是的输出A=false, B=false,第二个数字是的输出A=false, B=true,第三个数字是的输出A=true, …

18
镇上有两个新的警长-识别DJMcMego对!
我们在城镇Mego和DJMcMayhem中有一些新的警长主持人。我们需要挑战以适当地尊重他们的新职位,所以我们走了。 将悬停在他们的个人资料上时,引起了我的注意-他们的用户ID为和。如果执行数位减法,您会发现一些令人兴奋的事情(当然,要考虑绝对差值):45941317163171631716459414594145941 3|1|7|1|6 4|5|9|4|1 -+-+-+-+- (-) 1|4|2|3|5 上述算法生成的数字为。此整数有一些特殊之处:它仅包含连续的数字,并以升序排列,但是恰好其中一个数字未正确放置。142351423514235444 如果数字绝对差是按升序排序的连续整数,但我们将其中的一个正整数称为DJMcMego对,则它们中的一个不属于它。即,可以将逐位减法的结果的确切一位移动到另一位置,使得所获得的整数仅具有以升序排序的连续数字。(a ,b )(a,b)(a, b) 在上面的示例中,该对是DJMcMego对,因为如果在和之间移动,则结果为,这满足条件。请注意,结果数字的数字不必以开头,它们应该是连续的。当一个人不确定应该做出什么决定时,他们总是可以依靠另一个人的帮助来解决问题。4 3 5 12345 1(31716 ,45941 )(31716,45941)(31716, 45941)4443335551234512345123451个11 您的任务是根据输入的正整数对是否为DJMcMego对来输出真实/虚假值。 您可以确保和的位数相同,始终至少为4。b一种aabbb 您可以采用任何合理格式的整数(即本机整数,字符串,数字列表等)。 您可以使用任何编程语言进行竞争,并且可以通过任何标准方法接受输入并提供输出,同时请注意,默认情况下会禁止这些漏洞。这是代码高尔夫球,因此每种语言的最短提交(以字节为单位)将获胜。 测试用例 a, b -> Output 31716, 45941 -> Truthy 12354, 11111 -> Truthy 56798, 22222 -> Truthy 23564, 11111 -> Truthy 1759, 2435 -> Truthy 12345, …

9
我的监狱安全吗?
为您的挑战提供监狱布局的输入,以确定是否有任何囚犯可以逃脱。 输入项 输入可以采用任何合理的格式,例如字符串,数组,数组数组等。在这种情况下#,输入将由三个字符P和空格组成。输入内容不一定包含所有三个字符。 #: 一堵墙 P:囚犯 空间:一个空白空间 输入示例如下所示: ##### # # # P # # # ##### 输出量 监狱是否安全的真实/错误值。监狱只有能够容纳所有囚犯的情况下才是安全的。如果有任何囚犯可以逃脱,那是不安全的。 如果囚犯没有完全被墙壁包围,他们可以逃脱。对角线连接完全封闭。 测试用例 ############# Truthy # P # P# # # # # P # ############# ############# Truthy # P P # # # # P # ############# ############# Falsey # P …

30
这个数字是二进制的吗?
如果整数的二进制表示形式包含的1s比0s大,而忽略了前导零,则表示二进制为重。例如1是二进制重的,因为它的二进制表示很简单1,但是4不是二进制重的,因为它的二进制表示是100。如果出现平局(例如2,二进制表示为10),则该数字不视为二进制重数。 给定一个正整数作为输入,如果它是二进制重数,则输出一个真值,如果不是二进制数,则输出一个假值。 测试用例 格式: input -> binary -> output 1 -> 1 -> True 2 -> 10 -> False 4 -> 100 -> False 5 -> 101 -> True 60 -> 111100 -> True 316 -> 100111100 -> True 632 -> 1001111000 -> False 2147483647 -> 1111111111111111111111111111111 -> True 2147483648 …

30
编写最短的自我识别程序(quine变体)
编写一个程序,如果输入与程序的源代码匹配,则生成一个“ true”输出;如果输入与程序的源代码不匹配,则生成一个“ false”输出。 可以将这个问题描述为与quines有关,因为程序必须能够以某种方式在该过程中计算其自己的源代码。 这是代码高尔夫球:适用标准规则。您的程序不得访问任何特殊文件,例如其自身源代码的文件。 编辑:如果您选择,则可以将True / False替换为True / False或1/0。 例 如果您的程序的源代码是bhiofvewoibh46948732));:/)4,则您的程序必须执行以下操作: 输入(标准输入) bhiofvewoibh46948732));:/)4 输出(标准输出) true 输入项 (Anything other than your source code) 输出量 false

30
括号是否完全匹配?
您必须编写一个程序或函数,该程序或函数带有方括号,并输出该字符串是否完全匹配。您的程序应打印真实或虚假的值,并且IO可以采用任何合理的格式。 规则和定义: 出于此挑战的目的,“括号”是以下任意字符:()[]{}<>。 如果左括号和右括号的顺序正确且其中没有字符,则将一对括号视为“匹配” () []{} 或者,如果其中的每个子元素也都匹配。 [()()()()] {<[]>} (()()) 子元素也可以嵌套在几层深处。 [(){<><>[()]}<>()] <[{((()))}]> 仅在以下情况下,字符串才被视为“完全匹配”: 每个字符都是一个括号, 每对支架都有正确的打开和关闭支架,并且顺序正确,并且 每个括号都匹配。 您可以假设输入将仅包含可打印的ASCII。 测试IO 以下是一些应返回真实值的输入: () [](){}<> (((()))) ({[<>]}) [{()<>()}[]] [([]{})<{[()<()>]}()>{}] 以下是一些应返回假值的输出: ( Has no closing ')' }{ Wrong order (<)> Each pair contains only half of a matched element (()()foobar) Contains invalid characters [({}<>)> …

22
丹尼斯数字2.0
PPCG用户和当选mod,@ Dennis成为有史以来第二个收入超过10万的用户! 这是一个完全原始的想法,我没有从其他任何人那里得到,但是让我们根据他的用户ID进行挑战,12012以示敬意! 查看它,您会注意到他的ID有两个不同的“部分”。 12 和 012 这两个部分的总和为3。这是一个非常有趣的属性。 让我们将“ Dennis 2.0数字”定义为任何正整数,其中严格增加的数字的每个最大子序列加总为相同的数字。例如, 123 是Dennis 2.0的数字,因为只有一个严格增加数字的最大子列表,它的总和为6。另外,2,846,145也是Dennis 2.0的数字,因为三个增加的数字最大子列表,即 28 46 145 总计为10。此外,仅重复相同数字的数字必须是Dennis 2.0数字,因为例如777可以细分为 7 7 7 其中明确所有总和为7。 一些诸如42是不一个丹尼斯2.0数量,因为它被分解成 4 2 显然,它们的总和并不相同。 挑战 您必须编写程序或函数来确定给定数字是否为Dennis 2.0数字。您可以采用任何合理的输入格式进行输入和输出,例如从文件,函数参数/返回,STDIN / STDOUT等中以字符串,数字形式输入,然后如果该数字是Dennis 2.0 ,则返回真实值。数字,如果不是,则为假值。作为参考,以下是每个Dennis 2.0编号(最多1,000个): 1 2 3 4 5 6 7 8 9 11 12 13 14 15 …

10
周边国家
各国在一维世界上拥有一系列领土。每个国家/地区均由数字唯一标识。可以通过以下列表来表示领土的所有权: 1 1 2 2 1 3 3 2 4 我们将一个国家的最边缘地区定义为最靠近任一边缘的两个地区。如果上述列表的索引为零,则该国家/地区1的最边缘地区位于0和4。 如果一个国家的两个最边缘区域之间的子列表包含另一个国家的所有领土,则该国家将包围另一个国家。在上面的示例中,国家/地区2最边缘地区之间的子列表为: 2 2 1 3 3 2 而且我们看到国家的所有领土3都在国家的最边缘地区之间2,因此国家2包围国家3。 一个只有一个要素的国家永远不会包围另一个要素。 挑战 以整数列表作为输入(任何格式),如果任何国家被另一个国家包围,则输出真实值,否则输出虚假值。 您可以假设输入列表是非空的,仅包含正整数,并且不会“跳过”任何数字:例如,1 2 1 5将是无效的输入。 测试用例 +----------------------+--------+ | Input | Output | +----------------------+--------+ | 1 | False | | 2 1 3 2 | True | | 2 1 …

30
测试一些自恋的人
一个水仙花数是一个数字这是它自己的数字的总和,每个调至位数的力量。 例如,取153(3位数字): 1 3 + 5 3 + 3 3 = 1 + 125 + 27 = 153 1634年: 1 4 + 6 4 + 3 4 + 4 4 = 1 + 1296 + 81 + 256 = 1634 挑战: 您的代码必须接受用户的输入,并根据给定的数字是否为自恋数字输出True或False。 不需要对文本字符串或其他无效输入进行错误检查。输出为1或0是可接受的。仅生成自恋数字列表或对照列表检查用户输入的代码不符合要求。 OEIS A005188

15
无味和其他错误
标准Android计算器应用程序的某些版本允许您按一个键,例如“ sin”,然后按“ del”键使其变为“ si”。可能只是一个bug,他们不能为删除而烦恼。 以下字母/字母分组是可键入的: 罪 si s cos 合作 C 棕褐色 ta Ť ln 升 日志 罗 Ë 因此,“无味”是典型的,因为ta-steless,“木s”也是如此,因为“ c-log-s”。但是,“ got”不是可键入的,“ an”或“ xyz”也不是可键入的。 编写一个程序,该程序将单个单词(或字母序列,输入中仅包含z)作为输入,并生成输出以指示单词是否可键入。 输出可以是单个字符/字母/数字/等。或可能更大。所有可打字的单词应产生相同的输出。所有非典型词也应产生相同的输出。 PS只是出于好奇,“无味”是最长的可打字的字典单词吗?

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.