Questions tagged «integer»

对于涉及整数操作的挑战。

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 …

30
从较小的“ H”创建一个“ H”
挑战 创建一个函数或程序,当给定整数时size,该函数或程序将执行以下操作: 如果size等于1,则输出 H H HHH H H 如果size大于1,则输出 X X XXX X X X程序/功能的输出在哪里size - 1 (只要您愿意,0只要您在答案中指定,就可以使基本情况与相对应) 可以使用以下任何一种输出格式,以您更方便的方式: 所需结构的字符串,其中任意两个不同的字符分别对应于H和space 具有所需结构的二维数组,其中任意两个不同的值分别对应于H和space 字符串的数组/列表,每个字符串中有一行输出,并且与H和对应的任意两个不同的值space 只要每行上有恒定数量的前导空格,就可以使用前导空格。两个不同的输出字符可以取决于您选择的任何内容,只要它们不同即可。 指定代码返回的输出格式。 测试用例 1 H H HHH H H 2 H H H H HHH HHH H H H H H HH HH H HHHHHHHHH H HH HH …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

30
输出标志
给定数字N,输出N的符号: 如果N为正,则输出1 如果N为负,则输出-1 如果N为0,则输出0 N将是您选择的语言在可表示的整数范围内的整数。

5
功率编程:O(1 ^ N),O(N ^ 1),O(2 ^ N),O(N ^ 2)合而为一
根据程序的运行方式,编写出表现出四种常见的O大 时间复杂度的程序(或函数)。无论采用哪种形式,都需要一个正整数N,您可以假设它小于2 31。 当程序以其原始形式运行时,它应该具有恒定的复杂性。也就是说,复杂度应为Θ(1)或等效地为Θ(1 ^ N)。 当程序反向运行时,它应该具有线性复杂度。也就是说,复杂度应为Θ(N)或等效地为Θ(N ^ 1)。 (这是有道理的,因为N^1被1^N逆转。) 当程序被加倍,即,级联到本身,并运行它应具有指数复杂性,特别是2 Ñ。也就是说,复杂度应为Θ(2 ^ N)。 (这是有道理的,因为2在2^N是双1中1^N)。 当程序被加倍执行并反转并运行时,它应具有多项式复杂度,尤其是N 2。也就是说,复杂度应为Θ(N ^ 2)。 (这是有道理的,因为N^2被2^N逆转。) 这四种情况是您唯一需要处理的情况。 请注意,为精确起见,我使用大theta(Θ)表示法而不是大O,因为您的程序的运行时必须在上下两方面受所需复杂度的限制。否则,仅在O(1)中编写一个函数就可以满足所有四个点。了解这里的细微差别不是太重要。主要是,如果您的程序针对某个常数k执行k * f(N)运算,则很有可能为Θ(f(N))。 例 如果原始程序是 ABCDE 那么运行它应该花费恒定的时间。也就是说,无论输入N是1还是2147483647(2 31 -1)或两者之间的任何值,它都应在大致相同的时间内终止。 程序的反向版本 EDCBA 应该以N为单位花费线性时间。也就是说,终止所花费的时间应与N大致成比例。因此N = 1花费的时间最少,N = 2147483647花费的时间最多。 该程序的两倍版本 ABCDEABCDE 以N表示,应该花费2到N的时间。也就是说,终止所花费的时间应该大致与2 N成正比。因此,如果N = 1在大约一秒钟内终止,则N = 60将花费比宇宙年龄更长的时间。(不,您不必测试。) 程序的加倍和反转版本 EDCBAEDCBA 应该花费以N为单位的平方时间。也就是说,终止所花费的时间应与N * N大致成比例。因此,如果N …

30
填充N的N维N ^ N数组
输入: 足够的内存和一个正整数N 出: 用N填充的N维N ^ N数组,其中N ^ N表示N个N个N个N个N个项的N个项... 例子: 1:[1]是长度为1的一维数组(列表),包含单个1 2:[[2,2],[2,2]]这是一个2行2列的2D数组(一个表),用2s填充 3:[[[3,3,3],[3,3,3],[3,3,3]],[[3,3,3],[3,3,3],[3,3,3]],[[3,3,3],[3,3,3],[3,3,3]]]这是一个3D数组(一个多维数据集),具有3层,3行和3列,填充了3s 4: [[[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]],[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]],[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]],[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]]],[[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]],[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]],[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]],[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]]],[[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]],[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]],[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]],[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]]],[[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]],[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]],[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]],[[4,4,4,4],[4,4,4,4],[4,4,4,4],[4,4,4,4]]]] 5和6:请参阅答案之一。

18
像查克·诺里斯一样计数
正如众所周知的, 查克·诺里斯(Chuck Norris)数到无限。两次 此外, 查克·诺里斯(Chuck Norris)可以倒数到无限远。 另外,尽管可能不为人所知,查克·诺里斯(Chuck Norris)除了英语之外还能说一点西班牙语。 挑战 编写可以用两种不同语言运行的程序(或函数)。程序应以一种语言输出序列 1, 1, 2, 2, 3, 3, 4, 4, ... 而用另一种语言,它应该产生序列(包括前导零) 1, 2, ..., 9, 01, 11, 21, 31, ..., 89, 99, 001, 101, 201, ... 规则 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 相同语言的不同版本(例如Python 2/3)不算作不同语言。相关语言(例如C / C ++或Matlab / Octave)确实算作不同语言。 没有输入。 程序应继续输出序列项,直到被用户停止为止。由于程序不会自行停止,因此最终无法产生输出。它必须在程序运行时连续或批量生产。 输出可以使用STDOUT或等效输出,也可以显示在图形窗口中。序列项之间可以使用任何非数字分隔符,只要可以将每个项与其相邻项区分开即可。如果在各条款之间清除了屏幕,这也是可以接受的。 任一个序列都可以从而0不是从开始1。在这种情况下,按“两次”顺序0应按重复,就像其他数字一样。 前导零在“向后”序列中很重要。例如,第十项是01; 既不1是001也不可接受。 …

30
说明最小公倍数
给定两个正整数,A和B,示出了它们的最小公倍数通过输出破折号(两行-与长度)LCM(A,B)中的第一行和与垂直条第二线每个Bth的破折号替换每个Ath的破折号后(|)。 这样,每行的结尾将是两位的唯一|行。 例如,如果A = 6且B = 4,则LCM(6,4)= 12,因此: two lines of 12 dashes: ------------ ------------ replace every 6th dash in the first line with a vertical bar: -----|-----| ------------ replace every 4th dash in the second line with a vertical bar: -----|-----| ---|---|---| 因此,最终输出将是 -----|-----| ---|---|---| 输入数字的顺序应与行的顺序相对应。 以字节为单位的最短代码获胜。 测试用例 A …

30
打印所有整数
编写一个程序或函数,一旦给定了无限的时间和内存,该程序或函数将精确地打印所有整数。 可能的输出可能是: 0, 1, -1, 2, -2, 3, -3, 4, -4, … 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -2, -3, -4, -5, -6, -7, -8, -9, 10, 11, … 这不是有效的输出,因为它永远不会枚举负数: 0、1、2、3、4、5、6、7、8、9、10、11… 输出必须为十进制,除非您的语言不支持十进制整数(在这种情况下,请使用您语言使用的整数的自然表示形式)。 您的程序必须处理语言中标准整数类型最大的数字。 每个整数必须使用任何不是数字也不是语言负号的分隔符(空格,逗号,换行符等)与下一个分隔。 分隔符在任何时候都不得更改。 分隔符可以由多个字符组成,只要它们都不是数字也不是负号(例如, ,与一样有效,)。 最终必须在有限的时间后打印所有受支持的整数。 计分 这是代码高尔夫球,因此最短答案以字节为单位 排行榜 显示代码段 var QUESTION_ID=93441,OVERRIDE_USER=41723;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 …

27
除数的天际线
对于任何正整数k,令d(k)表示的除数k。例如,d(6)是4,因为6具有4除数(即1,2,3,6)。 给定一个正整数N,使用固定的字符,使得“建筑物”位于水平位置的高度显示ASCII技术中的“地平线” k是d(k)为k = 1, ..., N。请参阅下面的测试案例。 规则 可以一致地使用任何非空白字符,不一定非要#如测试用例所示。 该算法在理论上应该适用于任意高N。实际上,如果程序受时间,内存,数据类型大小或屏幕大小的限制,这是可以接受的。 允许水平或垂直前导或尾随空格或换行符。 输入和输出可以通过任何合理的方式进行。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 测试用例 N = 10: # # # # # ### ######### ########## N = 50: # # # # # # # # # # # # # # # # # # # # # …

30
有已知的
美国前国防部长唐纳德·拉姆斯菲尔德(Donald Rumsfeld)著名地推广了“已知的已知物”。在这里,我们将把他的言论提炼成四行节。 具体来说,输出以下文本: known knowns known unknowns unknown knowns unknown unknowns 大小写无关紧要(例如,Known unKnowns可以),可以使用单行尾的换行符,但不允许其他格式更改。这意味着单词之间有一个空格,行之间有LF(59字节)或CR/LF(62字节)。 规则 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

20
大于小于大于大于可疑
给定的一个长度为N的字符串小于和大于号(<,>),插入在所述开始和结束整数0至N和在每对的迹象,使得所有的不等式得到满足的之间。输出结果字符串。如果有多个有效输出,则输出其中任何一个(也只有一个)。 例如 <<><><< 有7个字符,因此必须插入0到7之间的所有数字。有效输出为 2<3<4>1<5>0<6<7 因为所有不等式一次都发生了 2<3 3<4 4>1 1<5 5>0 0<6 6<7 是真的。 如果需要,输出可以在符号周围有空格,例如2 < 3 < 4 > 1 < 5 > 0 < 6 < 7。 以字节为单位的最短代码获胜。 测试用例 空行之后的第一行是输入,下一行是有效的输出示例。 [empty string] 0 < 0<1 > 1>0 << 0<1<2 <> 1<2>0 >< 1>0<2 2>0<1 >> 2>1>0 <<< 0<1<2<3 …

30
递增数组
给定一个非空的正整数数组,对其进行“递增”一次,如下所示: 如果所有数组元素均相等,1则将a附加到数组末尾。例如: [1] -> [1, 1] [2] -> [2, 1] [1, 1] -> [1, 1, 1] [3, 3, 3, 3, 3] -> [3, 3, 3, 3, 3, 1] 否则,增加数组中的第一个元素,即数组的最小值。例如: [1, 2] -> [2, 2] [2, 1] -> [2, 2] [3, 1, 1] -> [3, 2, 1] -> [3, 2, 2] …

30
以负序输出整数,每次增加最大整数
主要任务 您的任务是按从1开始的降序打印整数,并在您再次击中1时逐渐增大,直到达到给定的输入为止,然后打印其余部分,直到再次击中1。输入示例6: 1 21 321 4321 54321 654321 Without newlines (valid output): 121321432154321654321 旁注:这是OEIS中的A004736。同样,第一个示例(带有换行符)是无效的输出,如规则中所指定。 输入项 您的代码可以采用整数或数字形式的任何形式的输入(图形,STDIN)。 输出量 您的代码应该输出上述序列,直到达到输入数字为止,然后完成输出直到再次达到1。输出可以是任何东西,因此可以是数字,字符串,整数或图形输出。必须打印出一个数字(如果是字符串,则不能换行)。您的输出可以输入和输出任意数量的字符(例如[])。 由于存在一些误解,因此您可以尝试以下正则表达式模式。 ^(\D*(\d)+\D*)$ 规则 输出必须是一个完整的数字,不能被任何东西分割,甚至不能换行。 该算法不应检查以任何方式出现的N的第一个实例(例如21in 121321),而应检查N 的第一个实例作为实际数字。 允许使用一条尾随的换行符。 负输入的处理完全由您选择,负数不是您应该测试的情况。 测试用例 Input: 6 Output: 121321432154321654321 Input: 1 Output: 1 Input: 26 Output: 121321432154321654321765432187654321987654321109876543211110987654321121110987654321131211109876543211413121110987654321151413121110987654321161514131211109876543211716151413121110987654321181716151413121110987654321191817161514131211109876543212019181716151413121110987654321212019181716151413121110987654321222120191817161514131211109876543212322212019181716151413121110987654321242322212019181716151413121110987654321252423222120191817161514131211109876543212625242322212019181716151413121110987654321 Input: 0 Output: 0, Empty, or Error Input: 21 Output: …

12
首要奇偶校验
这种挑战的目的是为了描绘图形平面上,其中,每个步骤的方向散步是由素性确定及其二进制展开的奇偶性。特别,ķkkķkk 初始方向是固定的,例如北。 所有步骤的长度相同。 步骤的方向可以是北,西,南或东,并确定如下: ķkk 如果不是素数,则方向不会改变。ķkk 如果是素数,的二进制展开拥有者的偶数,右转。ķkkķkk 如果是素数,的二进制展开具有奇数个1,左转。ķkkķkk 作为一个可行的示例,假设初始方向是北。第一步是: k = 1k=1k=1不是素数。因此,我们朝当前方向(北)移动了一步。 k = 2k=2k=2是质数,并且其二进制扩展10数具有奇数个。所以我们左转,现在正对着西方。我们朝这个方向迈出了一步。 k = 3k=3k=3是质数,它的二进制扩展11数,具有偶数个。因此,我们向右转,现在正对着北方。我们朝这个方向迈出了一步。 k = 4k=4k=4不是素数。因此,我们朝当前方向(北)移动了一步。 挑战 输入:正整数。ñNN 输出:如上定义的步走的图。ñNN 附加规则 的初始方向可以自由地选择(不一定北),但应该是全部相同。ñNN 的转动规则可以是与上述相反,即,右转奇校验并放置甚至; 但是对于所有它必须相同。ñNN 输出必须是步行的图形描述。例如: 可以用线段绘制步行。 可以使用标记(例如点)来显示访问点;有或没有连接线段。 可以提供两种颜色的光栅图像,一种颜色对应于已访问的点,另一种颜色则用于未访问的点。 水平轴和垂直轴的比例不必相同。轴标签和类似元素也是可选的。只要可以清楚地看到步行,该情节就是有效的。 请注意,某些点被多次访问。情节对此并不敏感。例如,如果在曲线图中显示了线段,则无论其经过多少次,每个单位段都将显示为相同。 该代码应适用于任何N给定的无限资源。如果在实践中N由于时间,内存或数据类型的限制而导致故障很大,则可以接受。 输入和输出像往常一样灵活。特别地,可以使用用于输出图像的任何标准装置。 以字节为单位的最短代码获胜。 测试用例 下图以北为初始方向。甚至平价向右转;并用线段描绘了步行路线。 N = 7: N = 3000: N = 20000: N = …

16
可以多小?
以正整数N开头,找到最小的整数N',可以通过将N除以其一位数字(以10为底)来计算得出。每个选定的数字必须是N的除数大于1。 例子1 预期的输出为N = 230是N” = 23: 范例#2 预期的输出为N = 129528是N” = 257: 提防非最佳路径! 我们可以从129528/9 = 14392开始,但这不会导致最小的结果。如果首先除以9,我们可以做的最好的事情是: 规则 输入可以采用任何合理的格式(整数,字符串,数字数组等)。 这是代码高尔夫球,因此最短答案以字节为单位! 测试用例 1 --> 1 7 --> 1 10 --> 10 24 --> 1 230 --> 23 234 --> 78 10800 --> 1 10801 --> 10801 50976 --> 118 129500 --> …

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.