Questions tagged «number»

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

30
返回数字的翻转版本
当数字显示在计算器上时,可以考虑该数字的各种变换是什么样的。例如,在七段显示器上,如下所示显示了2: 当水平翻转时,它看起来像这样: 这样,2的镜像为5。 挑战中的任务是获取一个数字,然后返回作为其镜像的数字(如果可能)。如果其镜像看起来不像数字,则返回旋转180度的数字(如果可能)。如果都不是,则返回-1。 这是程序需要处理的输入和输出的完整列表: Input Output 0 0 1 -1 2 5 3 -1 4 -1 5 2 6 9 7 -1 8 8 9 6 作为代码高尔夫球挑战,最短的代码胜出!
18 code-golf  number 

4
计算实际数字
定义 正整数n是一个实际数字(OEIS序列A005153),前提是所有较小的正整数都可以表示为的不同除数之和n。 例如,18是一个实际数字:其除数为1、2、3、6、9和18,小于18的其他正整数可以形成如下: 4 = 1 + 3 5 = 2 + 3 7 = 1 + 6 8 = 2 + 6 10 = 1 + 9 11 = 2 + 9 12 = 3 + 9 = 1 + 2 + 9 = 1 + 2 + 3 …
18 code-golf  sequence  number-theory  code-golf  code-challenge  sorting  c  code-golf  restricted-source  code-golf  natural-language  code-golf  tree-traversal  file-system  popularity-contest  pi  polyglot  code-golf  game  sliding-puzzle  code-golf  game  minesweeper  code-challenge  ascii-art  code-challenge  popularity-contest  graphical-output  code-challenge  popularity-contest  hello-world  underhanded  obfuscation  code-golf  code-golf  function  code-golf  code-golf  code-golf  popularity-contest  rosetta-stone  code-golf  primes  code-golf  restricted-source  popularity-contest  number  sequence  code-golf  restricted-source  popularity-contest  graphical-output  code-golf  popularity-contest  code-golf  primes  code-golf  game  code-golf  math  popularity-contest  popularity-contest  code-generation  popularity-contest  code-bowling  code-golf  popularity-contest  underhanded  code-golf  metagolf 

8
通过四舍五入节省金钱
在加拿大,一分钱不再流通。现金付款四舍五入至最接近的5美分。 可以通过分割购买来节省金钱。例如,两个$ 1.02的商品的价格为$ 2.04,四舍五入为$ 2.05,但是在单独购买的商品中,每个价格四舍五入为$ 1.00,总计为$ 2.00。但是,当以1.03美元的价格购买两件商品时,最好一次购买。 另一种省钱的方法是,在四舍五入不利的情况下使用信用卡,因为未对信用卡付款进行四舍五入。如果我们要两个1.04美元的商品,则无论我们如何分割购买,总价格将合计为2.10美元。因此,我们应该使用信用卡支付这些物品。 编写一个函数或程序,该函数或程序接受以整数形式(以美分为单位)的商品价格列表,并输出可以通过一系列购买(可以现金或信用方式购买)实现的那些商品的最低总价(以美分)。 最短的代码胜出。 测试用例 [] : 0 [48] : 48 [92, 20] : 110 [47, 56, 45] : 145 [55, 6, 98, 69] : 225 [6, 39, 85, 84, 7] : 218 [95, 14, 28, 49, 41, 39] : 263 [92, 6, 28, …
18 code-golf  number 

5
这个数字是随机的吗?
我问random.org为0和2之间的128个随机整数32 - 1。由于随机数生成器是如此渴望先给第64号,他们显然更随机比其他64。 编写一个完整的程序或函数,当输入以下64个整数之一时,该函数将返回真实结果: [1386551069, 1721125688, 871749537, 3410748801, 2935589455, 1885865030, 776296760, 614705581, 3841106923, 434616334, 1891651756, 1128215653, 256582433, 310780133, 3971028567, 2349690078, 489992769, 493183796, 3073937100, 3968540100, 777207799, 515453341, 487926468, 2597442171, 950819523, 1881247391, 3676486536, 3852572850, 3498953201, 2544525180, 297297258, 3783570310, 2485456860, 2866433205, 2638825384, 2405115019, 2734986756, 3237895121, 1560255677, 4228599165, 3106247743, 742719206, 2409129909, 3008020402, 328113612, 1081997633, …

3
打高尔夫球的数字大于装载机的数字
作为输出量超过Graham数和Golf数大于TREE(3)的最短终止程序的后续程序,我提出了一个新的挑战。 装入程序的数量非常大,很难解释(因为它本身是具有灵活目标的代码高尔夫练习的结果)。有一个定义和解释在这里,但自我封闭的目的,我将试图在这个帖子后面解释它。 Ralph Loader所使用的算法可产生有史以来最多的(可计算的)算法之一!实际上,Loader的号码是Googology Wiki上最大的“可计算”号码。(“可计算”数字是指根据计算定义的数字。)这意味着,如果答案以有趣的方式生成的数字大于Loader的数字(即不只是Loader的数字+1),您可以在谷歌历史!话虽如此,产生类似Loader的number + 1之类的程序绝对是这个问题的有效答案和竞争者。只是不要期望任何名气。 您的工作是创建一个终止程序,该程序产生的数字大于 Loader的数字。这是代码高尔夫球,所以最短的程序会获胜! 您不允许输入。 您的程序最终必须确定性终止,但是您可以假定计算机具有无限的内存。 您可能会假设您的语言的数字类型可以包含任何有限值,但是需要解释一下它在您的语言中的确切工作方式(例如:浮点数具有无限精度吗?) 不允许将无穷大作为输出。 数字类型的下溢引发异常。它不会环绕。 您需要提供一个解释,说明为什么您的电话号码如此之大以及代码的版本不正确,以检查您的解决方案是否有效(因为没有计算机具有足够的内存来存储Loader的电话号码)。 因此,这里是装载机编号的说明。有关更精确的详细信息,请参见http://googology.wikia.com/wiki/Loader%27s_number及其链接。特别是,它包含一个程序,该程序可以准确地生成Loader的编号(根据定义)。 该结构的微积分本质上是一种编程语言,它的特殊性质。 首先,每个句法有效的程序都会终止。没有无限循环。这将非常有用,因为这意味着如果我们运行任意的构造程序演算,我们的程序将不会卡住。问题在于,这意味着构造的演算尚未完成图灵的计算。 其次,在非图灵完整语言中,它是最强大的语言之一。本质上,如果您可以证明图灵机在每个输入上都将停止,则可以在构造演算中模拟该功能的函数。(这并不能完成巡视,因为您无法证明正在停止的巡回机器已经停止。) 装入程序的编号本质上是用于构造演算的忙碌的海狸编号,由于所有coc程序均终止,因此可以计算该编号。 特别是,loader.c定义了一个名为的函数D。大约D(x)在所有小于的位串上进行迭代x,将它们解释为coc程序,运行语法上有效的程序,并将结果(也将是位串)连接起来。它返回此串联。 加载程序的编号为D(D(D(D(D(99)))))。 来自Googolology Wiki的更具可读性的代码副本 int r, a; P(y,x){return y- ~y<<x;} Z(x){return r = x % 2 ? 0 : 1 + Z (x / 2 );} L(x){return x/2 >> Z(x);} …

7
高斯飞往爱森斯坦
给定一个高斯整数,其中,是整数,并且是虚数单位,返回最接近的(爱荷华氏距离的wrt)爱森斯坦整数其中,是整数,。a + b 我a+bia+bi一种aabbbi = 经验(π我/ 2 )i=exp⁡(πi/2)i = \exp\left(\pi i/2\right)ķ + 升ωk+lωk+l\omegaķkk升llω = 经验(2 πi / 3 )= (− 1 + i 3–√)/ 2ω=exp⁡(2πi/3)=(−1+i3)/2\omega = \exp(2\pi i/3) = (-1+i\sqrt{3})/2 背景 很明显,每个高斯整数可以唯一地用,整数表示为。它不是那么明显,但仍然如此:任何艾森斯坦整数能唯一被写为与,整数。它们都形成复数内的 -模数,并且分别是或的第p个环原子整数。注意a + b 我a+bia+bi一种aabbbķ + 升ωk+lωk+l\omegaķkk升llZZ\mathbb{Z}p=2p=2p=23333+2i≠3+2ω3+2i≠3+2ω3+2i \neq 3+2\omega 资料来源:commons.wikimedia.org 细节 如果给定的复数具有两个或三个最接近的点,则可以返回任何一个。 复数以直角坐标(bass)给出,但不是以任何方便的格式(例如或或类似形式)给出。(1,i)(1,i)(1,i)(A,B)A+BiA+B*1j 爱森斯坦整数必须作为基数坐标返回但不是以任何方便的格式(如or 或etc)返回。(1,ω)(1,ω)(1,\omega)(K,L)K+LωK+L*1ω 例子 所有实整数显然应该再次映射到实整数。 6,14 -> …

23
枚举排列
给定一些正整数生成对象的所有排列。nñnnñn 细节 排列是没有固定点的排列。(这意味着在每个排列编号中,i一世i都不能位于第i一世i个条目中)。 输出应包含数字(1,2,…,n)(1个,2,…,ñ)(1,2,\ldots,n)(或(0,1,2,…,n−1)(0,1个,2,…,ñ-1个)(0,1,2,\ldots,n-1))的排列。 您也可以始终打印(n,n−1,…,1)(ñ,ñ-1个,…,1个)(n,n-1,\ldots,1)(或分别(n−1,n−2,…,1,0)(ñ-1个,ñ-2,…,1个,0)(n-1,n-2,\ldots,1,0))的排列,但必须指定。 输出必须是确定性的,也就是说,每当调用某个给定nñn作为输入的程序时,输出都应该是相同的(这包括排列顺序必须保持相同),并且完整的输出必须在每次有限的时间(以概率1这样做是不够的)。 您可以假设n⩾2ñ⩾2 n \geqslant 2 对于某些给定的您可以生成所有排列,也可以选择另一个整数作为索引并打印第个排列(按您选择的顺序)。nñnkķkkķk 例子 请注意,排列顺序不必与此处列出的顺序相同: n=2: (2,1) n=3: (2,3,1),(3,1,2) n=4: (2,1,4,3),(2,3,4,1),(2,4,1,3), (3,1,4,2),(3,4,1,2),(3,4,2,1), (4,1,2,3),(4,3,1,2),(4,3,2,1) OEIS A000166记录了排列的次数。

26
计算总插槽
给定一个必须按顺序完成的作业列表,每个作业都需要一个插槽来完成,如果在完成一项工作之后接下来的两个插槽不能完成相同的工作(冷却插槽),则要花多长时间来完成全部工作)?但是,可以在此冷却槽中分配其他作业。 例如, [9,10,9,8] => output: 5 因为作业将被分配为[9 10 _ 9 8]。 1.首先,9需要两个冷却点_ _。因此,我们从开始9 _ _。 2.下一个作业10与上一个作业9不同,因此我们可以分配_之一。然后我们将拥有9 10 _。 3.第三,现在不能分配9,因为第一个作业9是相同的作业,需要冷却时间。9 10 _ 9。 4.最后,8与其他任何前两个作业都不相同,因此可以在9之后立即分配,并且由于这是最后一个作业,因此不需要冷却时间。最终列表为9 10 _ 9 8,预期输出为5,即点数(或插槽数) 测试用例: [1,2,3,4,5,6,7,8,9,10] => output : 10 ([1 2 3 4 5 6 7 8 9 10]) [1,1,1] => output: 7 ([1 _ _ …

14
找出所有具有重复值的(对角)对角线
挑战: 给定矩阵输入,确定具有重复数字的对角线和反对角线的数量。 因此,如果我们有一个像这样的矩阵: [[aa,ab,ac,ad,ae,af], [ba,bb,bc,bd,be,bf], [ca,cb,cc,cd,ce,cf], [da,db,dc,dd,de,df]] 所有对角线和反对角线将是: [[aa],[ab,ba],[ac,bb,ca],[ad,bc,cb,da],[ae,bd,cc,db],[af,be,cd,dc],[bf,ce,dd],[cf,de],[df], [af],[ae,bf],[ad,be,cf],[ac,bd,ce,df],[ab,bc,cd,de],[aa,bb,cc,dd],[ba,cb,dc],[ca,db],[da]] 例: [[1,2,1,2,1,2], [1,2,3,4,5,6], [6,5,4,3,2,1], [2,1,2,1,2,1]] 所有对角线和反对角线将是: [[1],[2,1],[1,2,6],[2,3,5,2],[1,4,4,1],[2,5,3,2],[6,2,1],[1,2],[1], [2],[1,6],[2,5,1],[1,4,2,1],[2,3,3,2],[1,2,4,1],[1,5,2],[6,1],[2]] 删除仅包含唯一数字的所有对角线和反对角线: [[2,3,5,2],[1,4,4,1],[2,5,3,2],[1,4,2,1],[2,3,3,2],[1,2,4,1]] 因此,输出为包含重复数字的对角线和反对角线的数量: 6 挑战规则: 如果输入矩阵为空,仅包含1个数字或整个矩阵中仅包含唯一数字,则输出始终为0。 确保输入仅包含正数[1,9](除非它完全为空)。 矩阵将始终为矩形(即,所有行的长度均相同)。 I / O是灵活的。输入可以作为整数列表的列表,或者作为整数的2D数组,或者作为矩阵对象,作为字符串等。也可以将矩阵的一个或两个维度作为附加输入。是否以您选择的语言保存字节。 通用规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能短的答案。 标准规则适用于具有默认I / O规则的答案,因此允许您使用STDIN / STDOUT,具有适当参数的函数/方法以及返回类型的完整程序。你的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接(即TIO)。 另外,强烈建议为您的答案添加说明。 测试用例: Input: Output: [[1,2,1,2,1,2], 6 [1,2,3,4,5,6], [6,5,4,3,2,1], [2,1,2,1,2,1]] [[]] 0 …

18
单个数字的最长重复子序列
挑战: 给定一个正整数,输出至少出现两次的最长的单个数字子序列,并且具有另一个数字的边界(或整数的开始/结尾)。 一个例子: 输入:7888885466662716666 单个数字的最长子序列为88888(7[88888]5466662716666),长度为5。但是,该子序列在整数中仅出现一次。 相反,输入的结果7888885466662716666应为6666(78888854[6666]271[6666]),因为它(至少)出现两次。 挑战规则: 子序列的长度优先于其发生的次数。(即输入8888858888866656665666,我们输出88888([88888]5[88888]66656665666;长度5,发生两次),而不是666(88888588888[666]5[666]5[666];长度3,发生三次)。 如果多个子序列的长度相等,则输出出现次数最大的子序列。即,具有输入3331113331119111,输出我们111(333[111]333[111]9[111];长度为3时,发生三次),而不是333([333]111[333]1119111;长度3为好,但发生两次) 如果多个子序列的出现次数和长度相等,则可以输出其中一个或全部(以任何顺序)。即,具有输入777333777333,可能的输出是:777; 333; [777, 333]; 或[333, 777]。 子序列必须具有其他数字的边界(或整数的开始/结尾)。即,输入122222233433结果为33(1222222[33]4[33];长度2,出现两次)而不是222(1[222][222]33433,长度3,两次出现都无效)。 这适用于所有计入出现次数计数器的数字。即,输入811774177781382结果为8([8]117741777[8]13[8]2;长度1,发生三次,三次)而不是77(811[77]41[77]781382/ 811[77]417[77]81382;长度2,发生两次,一次无效)或1(8[1][1]774[1]7778[1]382;长度1,发生四次,两次无效。 您可以假设输入内容不包含任何数字0(它将与匹配[1-9]+)。(这是为了避免不得不处理10002000应该输出的测试用例,默认情况下000大多数语言都将输出0。) 您可以假定输入将始终包含至少一个有效输出。 I / O都很灵活。可以是数字/字节/字符的列表/数组/流,也可以是字符串而不是单个整数。 通用规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能短的答案。 标准规则适用于您的答案,因此您可以使用STDIN / STDOUT,具有正确参数的函数/方法和返回类型的完整程序。你的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接。 另外,强烈建议为您的答案添加说明。 测试用例: Input: 7888885466662716666 / [7,8,8,8,8,8,5,4,6,6,6,6,2,7,1,6,6,6,6] Output: 6666 / [6,6,6,6] Input: 3331113331119111 / [3,3,3,1,1,1,3,3,3,1,1,1,9,1,1,1] Output: 111 / [1,1,1] Input: …

30
总和
设(输入)n=42n=42n=42 然后除数是:1,2,3,6,7,14,14,21,42 平方除数:1,4,9,9,36,49,196,441,1764 求和(加法):2500 由于因此我们返回真实值。如果它不是理想的正方形,则返回虚假值。50×50=250050×50=250050\times 50=2500 例子 : 42 ---> true 1 ---> true 246 ---> true 10 ---> false 16 ---> false 这是代码高尔夫球,因此每种语言的最短代码(以字节为单位)获胜 感谢@Arnauld指出了序列:A046655

22
按数字对描述的内容排序
给定一个正整数,我们可以形成一个新的数字,该数字由成对的数字描述(对于带有奇数数字的数字,添加前导0)。 例如: 1234可以读为1 2、3 4s-因此,1234的输出为2444。 643的位数为奇数,因此添加前导零使其成为偶数。然后,将0643读取为:零6s,四个3s,因此输出为3333。 (这是OEIS A056967)。 任务:给定一个正整数数组,按升序对它们按数字对描述的值排序。导致相同值的输入数字之间的顺序无关紧要。 输入:正整数的数组/列表/集合。在输入前导零不会允许的,并输入作为数字/字符串/列表等。不允许-输入的语言应尽可能接近整数/数字类型。 输出:以上述方式排序的数组,以任何常用方式返回(函数返回值/ STDOUT /呼入void /等)。您可以单独打印它们,将它们以数字,字符串或列表形式返回数字。 测试用例 Input Output [19, 91, 2345, 2023] [19, 2023, 2345, 91] [25257, 725, 91, 5219, 146125, 14620512] [725, 5219, 14620512, 91, 146125, 25257] [123130415 3335 91 111111111 528 88] [528, 111111111, 123130415, 3335, 88, 91] [1 …

12
功能剪贴板:复制
作为2018年5月每月语言活动的一部分,此挑战与MATL语言的某些功能有关。 相关挑战:功能剪贴板:粘贴。 介绍 MATL有几个剪贴板,您可以在其中存储值(副本)以供以后检索(粘贴)。某些剪贴板是自动的,这意味着某些事件会自动触发复制。这项挑战着眼于自动剪裁工具之一,称为功能输入剪贴板,或简称为功能剪贴板。 该剪贴板将输入存储到最近四个对常规输入函数的调用。普通函数是MATL中最常见的函数类型。输入接受意味着该功能至少接受一个输入(功能剪贴板不考虑不接受任何输入的功能)。 最好使用以下示例解释这些示例,这些示例使用两个常规函数: +,这会从堆栈中弹出两个数字并压入它们的和。 U,它会弹出一个数字并按其平方。 范例1: 3 2 + 6 + 12 4 U + + 产生结果39。该代码解释如下: 数字文字,例如3或被12压入堆栈 诸如此类的功能会+弹出其输入,并将其输出推入堆栈。 按时间顺序排列的函数调用为: 3 2 + 给 5 5 6 + 给 11 4 U 给 16 12 16 + 28 11 28 +给39。 剪贴板可以视为四个列表的列表。每个内部列表都包含函数调用的输入,最近的调用在前。在每个内部列表中,输入均按其原始顺序。 因此,在运行代码之后,剪贴板的内容是(用Python表示法): [[11, 28], [12, 16], …
17 code-golf  number 

19
序数字符串检查
说明: 给定一个字符串作为输入,请检查它是否是英文的有效序数。如果有效,则返回真实值,否则返回虚假值。(由@Arnauld建议。谢谢。也由@JoKing提供) 对于想了解序数的用户,请点击此处: https://www.mathsisfun.com/numbers/cardinal-ordinal-chart.html(建议:qwr) 可能的输入: 21st ---> true 12nd ---> false 1nd ---> false .... 这是一场高尔夫挑战赛代码,因此每种语言中最短的代码将成为赢家。 例子 : console.log('12th' , true) // This evaluates to true console.log('1st' , true) // also evaluates to true console.log('21nd' , false) // returns false console.log('11st' , false) // returns false console.log('111199231923819238198231923213123909808th' , true) // …

11
广义五十八序列
改编自这个五十八谜。 背景 检查以下无限序列: 3 3 3 2 3 3 3 2 3 3 3 2 3 3 2 3 3 3 2 ... 假设序列是1索引的。i序列中的th号确定3在ith 之前2和之后的2s 之前有多少个s。因此,由于序列以a开头,3因此序列必须开始,3 3 3 2并且由于序列的开头有3个3s,因此子序列3 3 3 2必须重复自身3次。之后,您会到达,3 3 2因为序列中的第四个数字是2。 FiveThirtyEight谜语要求限制三分之二的比率(在这里我不会破坏),但是您也可以询问index之后的累积比率i。例如在比i=4就是3/1 = 3,在i=15它的11/4 = 2.75。 让我们得到一般 给定数字n,k我们可以创建一个类似的序列,n就像描述的原始序列一样,索引处的数字i确定n在i第k一个之前和之后的第一个之后出现多少个ks。 例子: n=2, k=5 给出顺序 2 2 5 2 2 …

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.