Questions tagged «number»

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

8
上升还是下降?
给定山羊的图像,您的程序应该最好尝试识别山羊是否倒置。 例子 这些是输入可能是什么的示例。不是实际的投入 输入: 输出: Downgoat 规格 您的程序最多应为30,000个字节 输入将包含完整的山羊 图片将始终包含山羊 如果山羊倒立,输出Downgoat,否则Upgoat 输入将是您可以将图像作为输入(文件名,图像的base64等)。 要点文件名仅供参考,不要依赖于包含“ Upgoat”或“ Downgoat”的图像名称或其他元数据。 请不要硬编码。这很无聊,我无法完全执行它,但是我可以很好地询问。 测试用例 要点与图像。开头的图像downgoat具有Downgoat输出和图像开始与upgoat有Upgoat输出。 第二批测试用例 确保在所有测试用例上测试图像。这些图像是jpgs。图像大小确实有所不同,但没有说太多。 注意:在接受答案之前,可以添加一些测试用例,以避免使用硬编码的答案并检查程序的总体性能。 正确获得我的头像的奖励积分:P 计分 分数是可以通过以下方式计算的百分比: (number_correct / total) * 100

30
这个数字是素数吗?
信不信由你,对于简单的素数测试,我们还没有针对高尔夫的代码挑战。尽管这可能不是最有趣的挑战,尤其是对于“常用”语言而言,但在许多语言中它可能并不平凡。 Rosetta代码按惯用方法的语言列出了用于素数测试的功能,一种方法专门使用Miller-Rabin测试,另一种方法使用试验部门。但是,“最惯用的”通常与“最短的”不重合。为了使“编程难题”和“代码高尔夫”成为代码高尔夫的首选站点,此挑战旨在汇编一种每种语言中最短方法的目录,类似于“ Hello,World!”。和高尔夫球给你一个伟大的机会!。 此外,实现素数测试的能力是我们对编程语言的定义的一部分,因此,这一挑战也将成为经过验证的编程语言的目录。 任务 编写一个完整的程序,给定严格的正整数n作为输入,该程序确定n是质数,并相应地打印真实或虚假值。 出于此挑战的目的,如果整数恰好具有两个严格的正除数,则它是质数。请注意,这不包括1,后者是其唯一的严格除数。 您的算法必须是确定性的(即以概率1产生正确的输出),并且从理论上讲应该适用于任意大的整数。实际上,您可以假设输入可以存储在您的数据类型中,只要程序可以处理1到255之间的整数即可。 输入项 如果您的语言能够从STDIN中读取,接受命令行参数或用户输入的任何其他替代形式,则可以读取整数作为其十进制表示形式,一元表示形式(使用您选择的字符),字节数组(大或小尾数)或单字节(如果这是您的语言所用的最大数据类型)。 如果(且仅)您的语言无法接受任何类型的用户输入,则可以在程序中对输入进行硬编码。 在这种情况下,硬编码整数必须易于交换。特别是,它可能仅出现在整个程序的单个位置。 出于评分目的,提交与输入1对应的程序。 输出量 输出必须写入STDOUT或最接近的替代方案。 如果可能,输出应仅包含一个真值或假值(或其字符串表示形式),并可选地跟一个换行符。 该规则的唯一例外是您的语言解释器不断输出的内容,例如问候语,ANSI颜色代码或缩进​​,这些输出不能被禁止。 附加规则 这并不是要找到用于最短时间测试的最短语言,而是要找到每种语言中最短的方法。因此,没有答案将被标记为已接受。 大多数语言的提交都将以适当的预先存在的编码(通常(但不一定)为UTF-8)以字节计分。 例如,Piet语言将在编码中得分,这是该语言的自然选择。 某些语言(例如Folders)很难评分。如有疑问,请在Meta上提问。 与我们通常的规则不同,即使使用的语言(或语言版本)比此挑战新,也可以使用。如果有人想通过创建一种在空程序执行素性测试的语言中滥用它的方法,那么祝贺您为一个非常无聊的答案铺平了道路。 请注意,必须有一个解释器,以便可以测试提交。允许(甚至鼓励)自己为以前未实现的语言编写此解释器。 如果您选择的语言是已经有答案的另一种(可能是更流行的)语言的琐碎变体(请考虑使用BASIC或SQL方言,Unix shell或琐碎的Brainfuck派生词,例如Headsecks或Unary),请考虑在现有答案中添加注释在其他语言中,相同或非常相似的解决方案也是最短的。 测试素性内置功能是允许的。这项挑战旨在将每种语言的最短解决方案归类,因此,如果使用您的语言的内置版本更短,那就去吧。 除非之前已否决它们,否则所有标准的代码高尔夫球规则都适用,包括http://meta.codegolf.stackexchange.com/q/1061。 附带说明一下,请不要在无聊的语言中打扰无聊(但有效)的答案;这些对于这个问题仍然很有用,因为它试图编译尽可能完整的目录。但是,主要是用作者实际上不得不努力打出代码的语言来提高答案的准确性。 目录 这篇文章底部的Stack Snippet会根据答案a)生成目录,a)作为每种语言的最短解决方案列表,b)作为整体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: ## Ruby, <s>104</s> <s>101</s> 96 bytes 如果要在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: ## Perl, 43 + …

30
一个比其短(以字符为单位)的程序可以打印的最小正10基整数是多少?
我认为上述问题很明确,但以防万一: 编写一个完整的程序(不仅仅是一个函数),该程序将打印一个以10为基数的正整数,并可以选择后跟一个换行符。 合格程序将是输出比程序源代码长(以字节为单位)的程序,以字节为单位(假定程序源代码为ASCII或UTF-8编码)。 即,代码必须短于所得数字中的位数。 在任何情况下都不允许前导零。计算前导零使问题变得微不足道;忽略前导零将使这个问题变得不必要。 获胜的程序将是合格程序,该程序将打印出幅度最小的整数。 排行榜摘要 显示代码段 var QUESTION_ID = 67921; var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page; function answersUrl(index) { return "https://api.stackexchange.com/2.2/questions/" + QUESTION_ID + "/answers?page=" + index + "&pagesize=100&order=desc&sort=creation&site=codegolf&filter=" + ANSWER_FILTER; } function …

30
你能数多少?
挑战: 您的任务是编写尽可能多的程序/函数/代码片段,其中每个输出/打印/返回一个整数。第一个程序必须输出integer 1,第二个程序2以此类推。 您不能在程序之间重复使用任何字符。因此,如果第一个程序是:x==x,则您可能不能再使用这些字符x,而不能=在其他任何程序中使用这些字符。注意:允许在一个程序中多次使用同一字符。 得分: 获胜者将是得分最高的作品。如果出现平局,则获胜者将是使用总数最少的字节的提交。 规则: 所有整数只能使用一种语言 片段是允许的! 为了公平起见,所有字符必须使用您选择的语言使用单个字节编码。 输出必须为十进制。您可能无法以科学计数法或其他替代格式输出它。只要小数点后面显示的所有数字均为,就可以输出浮点数0。因此,4.000被接受。只要未在输出中显示,就可以接受由于FPA导致的不正确之处。 ans =,开头和结尾的空格以及换行符等。 您可以忽略STDERR,只要将正确的输出返回到STDOUT 您可以选择将整数输出到STDERR,但前提是STDOUT为空。 禁止使用与符号无关的语言(例如Lenguage) 字母区分大小写a != A。 程序必须是独立的 空格不能重复使用 您必须在输出中使用ASCII数字 鼓励解释!

4
超编程:N + N,N×N,N ^ N合而为一
编写一个程序,接受N到1到9之间的一个数字。2如果N是1,4如果N是2,6如果N是3,则程序应以其本机形式输出N + NEg输出。 当程序中的每个字符在适当位置被复制,那么它应该是一个程序,在N取(仍从1到9),并输出N×NEG输出1如果N 1,4如果N 2,9如果N 3,等等。 当程序中的每个字符都一式三份时,它应该是一个程序,1如果N为1,4则输入N(仍从1到9),并输出N ^ NEg输出,如果N为2,27如果N为3,387420489如果N为9,等等 不需要9以上的数字,因为10 ^ 10超出了许多语言通常的整数范围。 例 如果您的初始程序是 My_Program! Exit(); 那么它应该能够吸收N并输出N + N。 此外,该程序 MMyy__PPrrooggrraamm!! EExxiitt(());; 应该取N并输出N×N。 最后,程序 MMMyyy___PPPrrrooogggrrraaammm!!! EEExxxiiittt((()));;; 应该取N并输出N ^ N。 不需要四字符程序和其他程序。 规则 输入和输出应为普通格式的十进制数字。您可以使用不同的底数来回答,以炫耀您的代码,但是答案是非竞争性的。 Windows用户可以将其\r\n视为一个字符,因为类似的事情是\r\r\n\n没有意义的,甚至是行不通的。 以字节为单位的最短本机程序(N + N个)获胜。

30
斐波那契函数或序列
的斐波纳契数列是数字,其中该序列中的每个数字是其之前的两个数字之和的序列。序列中的前两个数字均为1。 这是前几个词 1 1 2 3 5 8 13 21 34 55 89 ... 编写最短的代码,其中之一: 生成不间断的斐波那契数列。 Given n计算n序列的th个项。(索引为1或零) 您可以使用标准形式的输入和输出。 (我提供了两种选择,以防其中一种比另一种更容易用您选择的语言来做。) 对于采用的函数,必须支持n一个相当大的返回值(最小的斐波那契数(Fibonacci number)至少适合您计算机的正常字长)。 排行榜 显示代码段 /* Configuration */ var QUESTION_ID = 85; // Obtain this from the url // It will be like https://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page var ANSWER_FILTER = …

30
可打印的最大数量
您的目标是编写一个打印数字的程序。数字越大,您将获得的积分越多。不过要小心!在评分功能中,代码长度既受限制,又受权重。您的打印数量将除以用于解决方案的字节数的立方。 因此,假设您打印10000000并且代码为100字节长。您的最终成绩将是10000000 / 100^3 = 10。 为了使这一挑战更加困难,还有其他规则要遵循。 您不能在代码中使用数字(0123456789); 您可以使用数学/物理/等。常量,但只有当他们都小于10(例如,你可以使用丕〜= 3.14,但你不能使用阿伏伽德罗常数 = 6e23) 允许递归,但是生成的数字必须是有限的(因此不接受无限数作为解决方案。您的程序需要正确地终止(假设无限制的时间和内存,并生成请求的输出)); 您不能使用运算*(乘),/(除),^(幂)或任何其他方式来表示它们(例如2 div 2,不允许); 如果需要,您的程序可以输出多个数字。只有最高的一个才算得分; 但是,您可以串联字符串:这意味着任何相邻数字序列都将被视为一个数字; 您的代码将按原样运行。这意味着最终用户不能编辑任何代码行,也不能输入数字或其他任何内容。 最大代码长度为100个字节。 排行榜 史蒂芬H.,Pyth ≈˚F φ(1,0,0)7(256 26)/ 1000000 [1] 简单地美丽的艺术,红宝石 ≈˚F φ 121(ω)(126) [1] 彼得·泰勒,GolfScript ≈˚F ε 0 +ω+ 1(17)/ 1000 [1] 水库,GolfScript ≈˚F ε 0(F ε 0(F ε 0(F ε 0(F …

30
您的语言中五个最强大的字符是什么?
选择您的语言支持的任何五个字符。有5个!= 5×4×3×2×1 = 120种方式可以将它们排列成5个字符的字符串,每个字符包含一次;120 个排列。 选择您的字符,以便在使用您的语言运行120个字符串中的每个字符串时,所产生的120个输出将是从1到120(含)之间尽可能多的唯一整数。 也就是说,对于产生可运行代码并输出一个数字的5个字符的120个置换中的每一个,您都希望所有这些数字的集合尽可能与1到120的整数集合匹配。 因此,理想情况下,你的第一个置换将输出1,下2,下3,一路最多120。但是对于大多数语言和字符来说,这种理想可能是不可能的。 5个字符的字符串可以按以下方式运行: 没有输入的程序 没有参数的函数 一个REPL命令 如果需要,可以以不同的方式运行不同的字符串 为了使输出计数,按常规方式,它必须是单个整数输出,例如: 被打印到标准输出 由函数返回 REPL表达式的结果 该代码应正常终止(只要先输出该数字,就可能会出错)。根本不运行的代码很好,只是(不存在的)输出不计算在内。除非您的语言使用其他基数,否则输出的数字应为十进制。 该提交产生了从1到120获胜的最明显的数字。如果出现平局,则较早提交的文件将获胜。 笔记 您的5个字符并不需要都相同,但是,当然,重复的字符会减少排列的有效次数。 浮点输出,例如32.0count以及plain 32。(但32.01不会。) 前导零,例如032count和plain 32。 有效输出应该是确定性的,并且是不变的。 我们正在处理字符,而不是字节。 例 123+*对于Python(或许多语言)的REPL ,字符是合理的首选。产生的120个排列和输出为: 123+* n/a 123*+ n/a 12+3* n/a 12+*3 n/a 12*3+ n/a 12*+3 36 132+* n/a 132*+ n/a 13+2* n/a 13+*2 n/a …

20
排序列表并写一些英语!
您的老板设法阅读了隐藏的秘密信息。但是,他最终并没有解雇您,只是让您担任秘书,并禁止您编写代码。 但是你是一个程序员。您需要编写代码。您必须编码。 因此,您的代码需要看起来与英语尽可能相似,有意义,并且看起来与代码尽可能少。您的代码应采用整数列表(在函数或STDIN中),并返回排序后的列表(将其返回或STDOUT)。 可以使用任何语言,但是我正在寻找最具创意的解决方案(如果您的代码看起来像是商务信函,则表示敬意)。 这是一次人气比赛!

30
多功能整数打印机
编写一段至少可以用三种不同语言执行的代码。代码必须输出第一1语言,第二2语言,3第三语言等的整数。 规则: 输出必须仅是整数,但结尾的换行符可以。 该代码不能接受任何形式的输入 同一语言的不同主要版本被认为是唯一的。因此,您的代码可以在Python 2和Python 3中执行,但是Python 2.5和Python 2.7并不是唯一的。 您可以使用一种新语言,前提是该语言具有esolang / wiki文章,可用的解释器和文档,并且在用于此挑战之前已被至少两个用户在PPCG上使用。它还必须遵守这4条规则。 提交的分数是代码中的字节数除以可以在多维数据集中运行的语言数。因此,可以以3种语言执行的54字节解决方案得分为2: 54 / 3^3 = 2 分数越低越好。 排行榜 显示代码段 <style>body { text-align: left !important} #answer-list { padding: 10px; width: 290px; float: left; } #language-list { padding: 10px; width: 290px; float: left; } table thead { font-weight: bold; } …

30
4,8,15,16,23,42 [关闭]
4,8,15,16,23,42 编写一个程序,该程序可以无限次输出此数字序列。但是,数字一定不能出现在源代码中的任何位置。 以下不是输出数字的有效Java程序,因为数字出现在其源代码中: class TheNumbers { public static void main(String[] args) { for(int n = 0;;) System.out.println( n == 4 ? n = 8 : n == 8 ? n = 15 : n == 15 ? n = 16 : n == 16 ? n = 23 : n …

30
你能打败我吗?(警察科)
警察科 强盗部分可以在这里找到。 感谢FryAmTheEggman,Peter Taylor,Nathan Merrill,xnor,Dennis,Laikoni和Mego的贡献。 挑战 你的任务是写2个不同的程序(全程序/功能/等)在相同的语言和相同的版本(例如Python的3.5≠的Python 3.4,所以是不允许的),并给予当ñ(使用标准输入/函数参数/ etc。),计算a(n),其中a是您选择的OEIS序列。这些程序之一比另一个短。您只需要提交两者中较长的程序即可。另一个需要保存,以防7天后不被破解。超出程序范围(无论是1字节或更多)时,您的提交将被破解。 例如,如果您选择的任务是执行2× n,那么这可能是有效的提交(在Python 2中): Python 2,16字节,分数= 15/16 = 0.9375 print(2*input()) 计算A005843,(偏移量= 0)。 如果您的提交已被破解,那么您需要在标题中说明如下: Python 2,16个字节,得分= 15/16 = 0.9375,[破解] +链接 print(2*input()) 计算A005843,(偏移量= 0)。 偏移量 可以在每个OEIS页面上找到。例如,对于A005843,偏移量为0,2。我们只需要使用第一个0。这意味着为所有≥0的数字定义了该功能。 换句话说,函数OEIS(n)从n = 0开始。您的程序需要适用于OEIS给出的所有情况。 可以在此处找到更多信息。 计分 您提交的分数等于以下公式: 分数 = 密码的长度(以字节为单位) ÷ 公共密码的长度(以字节为单位) 上面的示例得分为15÷16 = 0.9375。 得分最低的提交者获胜。只有发布了解决方案的提交才有资格获奖。 规则 您需要执行的任务是您选择的OEIS序列。 给定n,输出OEIS(n)。偏差不会允许的,所以你需要产生完全相同的序列(给定的n时,你需要输出OEIS(N))。 …

28
您连续八天!
语言学习应用程序Duolingo有很多功能要做,但是有一个主要问题使我发疯。它告诉我我已经连续几天使用该应用程序,并显示一条消息,例如“ 您正在连续7天出现连败!”。撇开连字符和是否应拼写数字,这对大多数数字都适用,但是当您说自己连续8天出现错误时,这无疑是错误的!我没有用它来学习英语,但这对于语言应用程序来说仍然是不幸的行为。 您将通过编写一个完整的程序或函数来帮助Duolingo团队,该程序或函数可以确定给定数字前应带有a还是a。一个数字前面有一个,如果它的英语口语发音与开始辅音或半元音的声音,并且在前面的,如果它的发音以元音开头。因此,唯一以a开头的数字是那些以八,十一,十八或八十开头的发音。 大概Duolingo开发团队留了这个bug的原因是因为他们用光了空间,无法在应用程序中使用更多的源代码,因此您需要使此代码尽可能短,以希望他们可以将其压缩。 您的代码必须采用0到2,147,483,647之间的整数,并输出a或an。尾随换行符是可选的。出于此挑战的目的,1863年被理解为1836.3,而不是163。 测试用例: 0 → a 8 → an 11 → an 18 → an 84 → an 110 → a 843 → an 1111 → a 1863 → a 8192 → an 11000 → an 18000 → an 110000 → a 180000 → a 1141592 → …
82 code-golf  number 

30
十个字节的代码中最大的数字
您的目标是仅使用十个字符的代码即可打印(至标准输出)最大数量的打印机。 您可以使用语言的任何功能,但内置指数功能除外。 同样,您可能无法使用科学计数法输入数字。(因此,没有9e+99。) 程序必须在没有用户输入的情况下打印号码。同样,也不会读取其他文件或Web等信息。 您的程序必须计算一个数字并打印出来。您不能打印字符串,也不能打印相同的数字数千次。 您可以从10个字符的限制中排除打印任何内容所需的任何代码。例如,在使用该print x语法的Python 2中,您的程序最多可以使用16个字符。 该程序实际上必须在输出中成功。如果在世界上最快的计算机上运行需要一个多小时,则它无效。 输出可以是任何格式(这样你就可以打印999,5e+100等等) 无限是一个抽象概念,而不是数字。因此这不是有效的输出。


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.