Questions tagged «number»

旨在通过使用,操纵,接受输入或输出数值来解决此难题。

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
定义一个函数f,使所有非零整数n的f(f(n))= -n
我经常访问一个编程博客,激发了这一挑战。请在此处查看原始帖子:编程难题 挑战 定义一个函数f:Q->Q,以便f(f(n)) = -n对所有非零整数n,其中,Q是有理数的集合。 细节 请使用您喜欢的任何语言定义一个函数或程序f,该函数或程序接受一个数字作为参数n并返回或输出一个数字f(n)。 可以通过最适合您的语言的机制来提供输入:函数自变量,从STDIN读取,命令行自变量,堆栈位置,语音输入,帮派标志等。 输出应该是功能/程序的返回值或打印到STDOUT。 我想将答案限制为不利用程序状态或从函数外部可见的全局内存/数据的函数f。例如,将计数器保留在该计数之外将对调用f次数f进行计数,并且仅基于此计数进行否定对任何人来说都不是挑战或有趣的事情。做出的决定f应仅依赖f词法范围内的数据。 但是,此限制可能不适用于某些面向堆栈的语言或其他无法区分这些类型的数据或范围的语言。请运用您最好的判断力来迎接挑战的精神。 计分 通用代码高尔夫规则适用-您的得分是源代码中的字节数。 最小答案要求的域和共域是f有理数的子集Q。如果将的域和共域限制f为整数Z,则分数是源代码中字节数的90%的上限。 抢七 如果出现平局,将按以下顺序使用: 源代码中可打印的非空白符号数量最少 最早提交答案的日期和时间 编辑 您不需要支持任意大小的数字。请使用您选择的语言(通常分别为整数和浮点)解释集合Z和Q数据类型。 如果您的解决方案完全依赖于数据类型的基础结构或位模式,请描述其局限性以及如何使用它。

30
输出序号(第一,第二,第三)
我想生成(作为函数的返回结果,或仅作为程序的输出)与数字连接的正整数的序数后缀。 样品: 1st 2nd 3rd 4th ... 11th 12th 13th ... 20th 21st 22nd 23rd 24th 依此类推,后缀每10个重复最初的1-10个子模式,直到100个,该模式最终重新开始。 输入将是数字,输出将是如上所示的序数字符串。 最小的算法是什么?

27
告诉我最近的恶魔
恶魔数字是一个正整数,其十进制表示形式仅包含6。恶魔数字列表以6、66、666、6666开头。 给定正整数,输出最接近的恶魔数字。如果有两个,则输出较大的一个。 测试用例: n output 1 6 2 6 3 6 6 6 35 6 36 66 37 66 100 66 365 66 366 666 666 666 999 666 这是代码高尔夫球。以字节为单位的最短答案将获胜。

30
StringgnirtSStringgnirtSStringgnirtS
这对您来说是一个相对简单的挑战。 给定长度为N的字符串,向前输出该字符串,然后向后输出,然后向前,然后向后输出……等等。N次。例如,如果您输入的是 Hello! 您应该输出: Hello!!olleHHello!!olleHHello!!olleH 您也可以选择输出一个尾随换行符。 您的提交可以是完整程序,也可以是函数,并且您可以采用任何合理的格式进行输入和输出。例如,您可以从STDIN / STDOUT中获取IO,从函数中获取参数,并从文件中获取返回值,等等。您可以放心地假设输入字符串将不会为空,并且仅包含可打印的ASCII。您必须在一行上输出新字符串。因此,例如,如果最后一个示例的输出是 Hello! !olleH Hello! !olleH Hello! !olleH 这不是有效的解决方案! 这里是更多测试用例: Input: a Output: a Input: abcd Output: abcddcbaabcddcba Input: OK! Output: OK!!KOOK! Input: 4815162342 Output: 4815162342243261518448151623422432615184481516234224326151844815162342243261518448151623422432615184 Input: PPCG Output: PPCGGCPPPPCGGCPP Input: 42 Output: 4224 排行榜 由于这是一个代码高尔夫挑战,因此禁止了标准漏洞,以字节为单位的最短答案胜出!但是,这也是在任何特定语言中答案最短的竞赛。尽管Java答案不太可能会击败perl或某些打高尔夫球语言的答案,但拥有最短的Java答案仍然令人印象深刻。因此,您可以使用此页首横幅查看 所有语言中最短的答案,以及 每种语言的最短答案。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N …
42 code-golf  string  code-golf  math  geometry  data-structures  repeated-transformation  code-golf  number  random  code-golf  math  rational-numbers  code-golf  ascii-art  animation  code-golf  ascii-art  number  code-golf  math  number  code-golf  data-structures  code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

30
打印从1到10的数字
这可能是一个非常简单的挑战,但令我惊讶的是它尚未在代码高尔夫球上完成: 以升序打印从1到10(含1和10)的所有整数到标准输出。 您的输出格式可以是您的语言支持的任何格式。这包括任意的分隔符(逗号,分号,换行符,这些字符的组合等,但没有数字)以及前缀和后缀(如[...])。但是,您可能不会输出1到10以外的任何其他数字。您的程序可能不会接受任何输入。不允许出现标准漏洞。 这是代码高尔夫球,因此最短答案以字节为单位! 排行榜 显示代码段 var QUESTION_ID=86075,OVERRIDE_USER=42570;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){return e.lang>s.lang?1:e.lang<s.lang?-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 src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody …

30
实际上是字母的数字
给定一个非负整数输入,写一个程序转换的数量为十六进制并返回,如果数字的十六进制形式仅包含字符的truthy值A通过F否则一个falsey值。 测试用例 10 ==> True (A in hexadecimal) 100 ==> False (64 in hexadecimal) 161 ==> False (A1 in hexadecimal) 11259375 ==> True (ABCDEF in hexadecimal) 0 ==> False (0 in hexadecimal) 奖励:如果您的程序为上述挑战而打印,数字的十六进制版本仅包含数字并且十六进制数字包含至少一个数字和至少一个字母,则为-40字节。Only lettersOnly numbers0-9Mix 这是代码高尔夫。适用标准规则。以字节为单位的最短代码获胜。允许使用功能或完整程序。

8
填塞填塞-十二项任务鸣叫
您的老板刚刚通过电子邮件给您列出了他需要尽快完成的12个编程任务的列表。任务很简单,但是作为社交网络支持的年轻软件大亨,您的老板坚持认为,您的解决方案必须能够在单个Twitter微博中使用。 这意味着您只有140字节的代码可解决所有任务,平均每个任务11.67字节。(是的,Twitter 计算字符,但您的老板专门说了字节。) 您意识到无法解决140字节中的所有12个任务,但是您怀疑老板不会实际测试所有解决方案。因此,您可以继续解决尽可能多的任务,而完全跳过其中的一些任务。您的心态是,完成任务的哪个子集无关紧要,只重要的是子集尽可能大。 您可以完成多少个任务? 挑战 编写多达12个不同的程序,每个程序都能准确解决以下12个任务之一。这些程序的长度的累积总和不能超过140个字节 或者,您可以编写一个长度不超过140个字节的程序,该程序取1到12之间的整数,并且(理想情况下)继续解决相应的任务,并根据需要输入更多的信息。并非所有任务都需要工作,只有那些确实可以计入您的分数的任务才能工作。无效的任务将允许错误或执行其他任何操作。 在任何一种情况下,“程序”实际上都是将输入作为参数或对其进行提示并打印或返回输出的函数。因此,例如,您可以编写一个看起来像的140字节的函数f(taskNumber, taskInput),或者您可以为每个任务编写单独的代码段,其中一些作为函数,而某些则作为成熟的程序。 其他详情: 所有代码必须使用相同的语言编写。 像往常一样,输入应该来自stdin,命令行,函数参数或您的语言常用的东西。输出将输出到标准输出或您的语言最接近的替代版本,或以适当的类型返回。 合理数量的输入格式是可以的;例如,用引号引起来的字符串或\n代替实际的换行符。 输出应该完全是所要求的,没有多余的格式或空格。唯一的例外是尾随换行符。 仅在REPL环境中运行的代码不构成程序或功能。 您可能不会编写解决多个任务的多个程序。是一个程序(理想地)解决所有任务,或者是(理想地)12个程序分别解决一个任务。 未经原作者的署名,并且最好也获得许可,不允许发布您未编写或仅稍作修改的任务解决方案。如果您的答案主要是所有其他答案中最短的解决方案,则它应该是社区Wiki。 计分 完成最多任务的提交是获胜者。如果两个提交并列,则字节数最少的一个获胜。如果字节计数并列,则较早的提交将获胜。社区维基答案不允许获奖。 确保告诉我们您解决了哪些任务,而不仅仅是告诉我们! 非高尔夫球员的障碍: 这项挑战很可能将以高尔夫语言为主导。许多语言甚至可能无法解决140字节内的一两个任务。因此,您可以提交非竞争性答案,其限制为3条推文,即420字节。所有其他规则保持不变。 任务 任务1-三个数字可以形成三角形吗? 取三个正整数并输出一个true / falsy值,该值指示具有这些长度的三行是否可以形成三角形。您可能不认为数字按任何特定顺序排列。 真实的示例(每行一个): 20 82 63 1 1 1 2 3 4 1 2 2 虚假的例子: 6 4 10 171 5 4 1 1 …

12
自然产生的素数生成器
有很多主要的生成函数。它们几乎都是基于Eratosthenes筛子,Möbius函数或Wilson定理构造而成的,通常在实践中不可行。但是也有一些发电机,它们的结构非常简单,是偶然发现的。 2003年,Stephen Wolfram在NKS暑期学校的实时计算机实验中探索了一类嵌套递归方程。马修·弗兰克(Matthew Frank)周围的一群人进行了进一步的实验,发现了简单复发的有趣特征 a(n) = a(n-1) + gcd(n,a(n-1)) 起始值为a(1) = 7。差异a(n) - a(n-1) = gcd(n,a(n-1))似乎总是1或素数。前几个区别是(OEIS A132199): 1, 1, 1, 5, 3, 1, 1, 1, 1, 11, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 23, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …

30
至少h与至少h
输入项 非负整数列表。 输出量 最大的非负整数h,使得h列表中的至少一个数字大于或等于h。 测试用例 [0,0,0,0] -> 0 [12,312,33,12] -> 4 [1,2,3,4,5,6,7] -> 4 [22,33,1,2,4] -> 3 [1000,2,2,2] -> 2 [23,42,12,92,39,46,23,56,31,12,43,23,54,23,56,73,35,73,42,12,10,15,35,23,12,42] -> 20 规则 您可以编写完整的程序或函数,也可以使用匿名函数。这是代码高尔夫球,因此最少的字节数获胜。不允许出现标准漏洞。 背景 的h指数是在学术界使用的概念,其目的是捕捉研究员的影响和生产力。根据Wikipedia的说法,如果研究人员已发表h条科学文章,则该文章的索引为h,其中每篇科学文章均被h引用至少h次。因此,这个挑战是关于从引用计数列表中计算h指数。 更新资料 哇,好极了!我接受了最短的一个,但是如果有人提出一个更短的一个,我将相应地更新我的选择。 语言获胜者 这是按语言划分的获奖者名单,我还将尝试保持最新状态。我包括了所有分数均为非负数的帖子。如果我在这里犯了一个错误,请纠正我。 APL:@MorisZucca提供的7个字节 Bash + coreutils:29个字节,@ DigitalTrauma C#:@ LegionMammal978的103个字节 C ++:@ user9587的219字节 CJam:@nutki提供 15个字节 GolfScript:@IlmariKaronen提供的 13个字节 Haskell:@proudhaskeller提供的40个字节 J:@ɐɔıʇǝɥʇuʎs提供的12个字节 Java:@Ypnypn的107个字节 JavaScript:@ edc65提供的48个字节 …

30
拼字游戏得分手
挑战: 以一串大写或小写字母作为输入(可选),并计算该字符串在英语拼字游戏中的得分。 规则: 每个字母的得分如下(即使有其他版本的游戏,也要使用该得分): 1 point: E, A, I, O, N, R, T, L, S, U 2 points: D, G 3 points: B, C, M, P 4 points: F, H, V, W, Y 5 points: K 8 points: J, X 10 points: Q, Z 字符串的分数就是所使用的每个字母的分数之和。您可能会假设您有很多可用的图块,因此,长单词以及带有许多相同字母的单词都是有效的输入。 测试用例: ABC -> 7 PPCG …

17
包含每个字母的第一个数字
给定一个从A到Z的单个字母(J和K除外),以书面形式输出包含该字母的最小非负整数。假设数字从不包含单词“和”,那么101“一百一”就不包含“一百一”。假设美国人(小规模)计数,那么一百万就是10^6十亿10^9。 a 1000 one thousand b 1000000000 one billion c 1000000000000000000000000000 one octillion d 100 one hundred e 0 zero f 4 four g 8 eight h 3 three i 5 five j k l 11 eleven m 1000000 one million n 1 one o 0 zero p 1000000000000000000000000 one …

30
法国车牌
沙盒 法国车牌 法国车牌按特定顺序的数字和字母顺序排列:AB-012-CD 挑战 编写一个程序或函数,以给定的编号输出相应的法国车牌号。您的程序不应处理链接页面中指定的任何特殊情况。它应该能够生成所有26*26*1000*26*26 => 456 976 000可能的图版,或者在您的语言可以支持的范围内。 编号系统如下: AA-000-AA至AA-999-AA(数字优先); AA-000-AB至AA-999-AZ(然后是最后一个字母); AA-000-BA至AA-999-ZZ(然后是右边的第一个字母); AB-000-AA至AZ-999-ZZ(然后是最后一个字母在左侧); BA-000-AA至ZZ-999-ZZ(然后是左边的第一个字母)。 输入项 车牌号的索引为整数 输出量 对应的法国车牌号 附加信息 字母必须大写 您可以同时使用基于0和基于1的索引来生成模板(这意味着AA-000-AA可以对应于0或1,假设所有其他测试用例都使用相同的索引。 这是代码高尔夫球,每种语言的最短答案胜出! 测试用例(基于0的索引) 0 -> AA-000-AA 1 -> AA-001-AA 999 -> AA-999-AA 1000 -> AA-000-AB 675 999 -> AA-999-ZZ 676 000 -> AB-000-AA 456 975 999 -> ZZ-999-ZZ

27
像巴比伦人一样数数
挑战 给定输入的巴比伦数字的ASCII表示,以西方阿拉伯数字输出数字。 巴比伦数字系统 巴比伦人如何计算?有趣的是,他们将Base 60系统与Base 10系统一起使用。让我们首先考虑系统的unit列: 巴比伦人只有三个符号:(T或者,如果您可以渲染它:)𒐕代表1,<(或者,如果您可以渲染它:)𒌋代表10,和\(或者,如果您渲染它:)则𒑊代表零。 注意:从技术上讲,\(或𒑊)不为零(因为巴比伦人没有“零”的概念)。后来发明了“零”,所以后来又\添加了一个占位符以防止歧义。但是,就此挑战而言,将其视为\零就足够了 因此,在每一列中,您只需将符号的值相加即可,例如: <<< = 30 <<<<TTTTTT = 46 TTTTTTTTT = 9 \ = 0 每列中不得超过五个<或超过九个T。\将始终单独出现在列中。 现在,我们需要扩展它以添加更多列。这与任何其他基数60完全相同,在此基础上,您将最右边的列的值乘以,将左边的一乘以60 1,将左边的一乘以60 2,依此类推。然后,您将每个值相加以获得数字的值。60060060^0601个60160^160260260^2 列将由空格分隔以防止歧义。 一些例子: << <TT = 20*60 + 12*1 = 1212 <<<TT \ TTTT = 32*60^2 + 0*60 + 4*1 = 115204 规则 您可以自由接受ASCII输入(T<\)或Unicode输入(𒐕𒌋𒑊) 输入的数字将始终小于10710710^7 该<旨意始终是左边的T每列S …

21
实现Malbolge的“疯狂”运营商
Malbolge编程语言的许多独特功能之一是其高度直观的OP运算符,在文档和源代码中仅称为“ op”,而通常称为“ crazy”运算符。正如该语言的创建者本·奥尔姆斯特德(Ben Olmstead)在其文档中所描述的那样:“ 不要寻找模式,它就在那里。” op是“ tritwise”运算符-它对两个自变量的相应三进制数进行运算。对于每个trit(三进制位),op的结果由以下查找表给出: a op(a,b) 0 1 2 +------- 0 | 1 0 0 b 1 | 1 0 2 2 | 2 2 1 例如,要进行计算op(12345, 54321),请首先在三进制中写出两个数字,然后在表中查找每对三叉戟: 0121221020 (12345_3) op 2202111220 (54321_3) -------------- 2202220211 (54616_3) 最后重要的一点是在Malbolge所有值都是10个trits宽,所以输入值应该用零到10的宽度被填充(例如,op(0, 0)是1111111111在三元)。 您的任务是取两个0≤ a,b<59049的整数作为输入,并输出的整数值op(a,b)。 测试用例(格式为a b op(a,b)): 0 0 29524 1 …
41 code-golf  number 

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.