Questions tagged «number»

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

20
我的山脉有几座山峰?
正整数列表可以可视化为量化的山脉,其中每个列表条目代表山脉的一个垂直部分的高度。 例如清单 1, 2, 2, 3, 4, 3, 5, 3, 2, 1, 2, 3, 3, 3, 2, 2, 1, 3 可以成为范围 x x x xxxxx xxx x xxxxxxxx xxxxxx x xxxxxxxxxxxxxxxxxx (缺乏诗情画意的人可能将其称为条形图,但我离题了。) 这个挑战中的问题是:在某个任意列表的山脉中有多少个峰?本质上,列表中有多少个局部最大值? 峰定义为山峰的一列或多列高度相等的连续部分,其中左右两列的高度较低。 可以很容易地从视觉上看出该示例在这些带括号的位置有四个峰: 1, 2, 2, 3, (4), 3, (5), 3, 2, 1, 2, (3, 3, 3), 2, …

18
连续整数之和
在任何人说任何事,类似的和类似的。但这不是骗子。 一些正整数可以写为至少两个连续的正整数之和。例如,9=2+3+4=4+5。编写一个函数,将一个正整数作为其输入,并输出与之相加的最长连续正整数的最长序列作为输出(任何格式都是可以接受的,但是如果输出是由递增序列隔开的-5字节,则+如上所示) 。如果不存在这样的顺序,则应打印数字本身。 这是代码高尔夫。适用标准规则。以字节为单位的最短代码获胜。 样本(请注意格式会有所不同) Input: 9 Output: 2,3,4 Input: 8 Output: 8 Input: 25 Output: [3,4,5,6,7]

18
主要因素之和
2013年是主要因素3*11*61。2014年是主要因素2*19*53。关于这些因式分解的一个有趣特性是,在2013和2014的因式分解中存在不同的素数,它们的总和为相同的数量:11+61=19+53=72。 编写一个程序或函数,该程序或函数的输入为两个大于1的正整数,如果存在一个选定的素数之和等于第二个选定的素数之和,则返回真值。否则为假值。 澄清说明 可以使用两个以上的主要因子。总数中并非所有的素数因子都需要使用。两个数中使用的素数的数量不必相等。 即使在数的因式分解中将质数提高到大于1的幂,它也只能在该数的质数之和中使用一次。 1不是素数。 两个输入数字均小于2^32-1。 测试用例 5,6 5=5 6=2*3 5=2+3 ==>True 2013,2014 2013=3*11*61 2014=2*19*53 11+61=19+53 ==>True 8,15 8=2^3 15=3*5 No possible sum ==>False 21,25 21=3*7 25=5^2 No possible sum (can't do 3+7=5+5 because of exponent) ==>False 这是代码高尔夫。适用标准规则。以字节为单位的最短代码获胜。

1
这是候选人卡尔文数吗?
这项挑战是对我们的传奇挑战作家( Calvin's Hobbies)(现在更名为Helka Homba)的致敬,其精神与“ 生成丹尼斯数字 ”相同 。 卡尔文(Calvin)是PPCG的杰出贡献者,在整体声誉中名列第六,在我们所有人当中,毫无疑问,最佳挑战写作技能是无可争议的。但是,当然,对于这一挑战,我们将重点关注他的用户ID。 起初26997可能看起来不太有趣。实际上, 从几个方面来说,这几乎是有趣的。例如,这是26997 mod <n>某些值的图表n: n | 26997 % n ----+----------- 3 | 0 4 | 1 5 | 2 6 | 3 7 | 5 :( 8 | 5 9 | 6 10 | 7 但是,26997是可以用表示的少数几个数字之一,其中整数> 0。(n * 10)n - nn 这是可以用这种方式表示的前几个数字,此后我们将其称为加尔文数字: …

25
查找下一个1稀疏二进制数
如果在其二进制表示形式的任何两个连续1之间至少存在K 0,则正整数N为K-稀疏。 因此,数字1010101为1稀疏,而101101不是。 您的任务是找到给定输入数字的下一个1稀疏数字。例如,如果输入为12(0b1100),则输出应为16(0b10000),如果输入为18(0b10010),则输出应为20(0b10100)。 最小的程序或函数(以字节为单位)获胜!不允许出现标准漏洞。

19
与阶乘数系统相互转换
该阶乘数系统,也称为factoradic,是一个混合基数的数字系统。阶乘决定数字的位数。 在此系统中,最右边的数字可以是0或1,第二个最右边的数字可以是0、1或2,依此类推。这意味着n数字乘数的最大值可以为(n + 1)!。 例如,要将乘数转换24201为十进制,您可以这样做: 2 * 5! = 240 4 * 4! = 96 2 * 3! = 12 0 * 2! = 0 1 * 1! = 1 240 + 96 + 12 + 0 + 1 = 349 因此,阶乘数24201为349base 10。 要将十进制数字(349例如)转换为因数,您可以这样做: 取最大乘以小于该数。在这种情况下,它是120或5!。 349 / 5! = 2 …

22
自然建筑
包含0的自然数通过以下方式正式定义为集合: 数字0定义为空集{} 对于Ñ ≥0,数Ñ 1被定义为ñ ∪{ Ñ }。 结果,n = {0,1,...,n -1}。 此过程定义的第一个数字是: 0 = {} 1 = {{}} 2 = {{},{{}}} 3 = {{},{{}},{{},{{}}}} 挑战 给定n,将其表示形式输出为一组。 规则 输出可以始终如一地使用任何托架字符如{},[],()或<>。01不允许使用任意字符(例如)。 代替上面的逗号,分隔符可以是任何标点符号。或可能不存在。 可以任意和不一致地包含空格(不是换行符)。 例如,带有方括号和分号作为分隔符的数字2是[[]; [[]]],或等价地[ [ ]; [ [ ] ] ],甚至[ [ ] ;[ []]] 指定集合中的元素的顺序无关紧要。因此,您可以在表示形式中使用任何顺序。例如,以下是一些有效的输出3: {{},{{}},{{},{{}}}} {{{}},{{},{{}}},{}} {{{}},{{{}},{}},{}} 您可以编写程序或函数。输出可以是字符串,或者,如果使用函数,则可以返回其字符串表示形式符合上述条件的嵌套列表或数组。 测试用例 …

8
最佳Yahtzee分数
Yahtzee是一款带有五个六面骰子和一个计分表的游戏,其中有13个不同的盒子来填充得分。每个盒子都有自己的计分规则: 1s,2s,3s,4s,5s,6s的所有得分均等于相应骰子的总和(即,以3s得分的[3,2,3,1,5]一卷将获得6分:3每3)。 同类3个和同类4个(听起来很像,三个或四个骰子滚动相同)的得分点等于所有五个骰子的总和。 满屋(两个骰子显示一个值,其他三个显示另一个值)得分25分 小笔直(四个连续的值)得分30分 大笔直(所有连续值)得分40点 Yahtzee(所有骰子都显示相同的值)得分50分 第十三(机会)在游戏中很有意义,但对这个挑战而言意义不大;此外,游戏还有额外的Yahtzees奖励,在这里没有意义。因为挑战是... 给定五个骰子作为输入(五个整数1-6,但是输入很方便,可以假设输入始终有效),输出该“手”可能的最高分。出于挑战的目的,只有上面列表中的评分方法有效(特别是,机会不是此挑战的有效得分框)。分数应以其十进制数值输出,无论是整数还是字符串表示形式。应该立即将其识别为数字。前导/尾随空格很好,这是关于获得分数而不是表示。 编码高尔夫,这样,使用给定语言的字节最少的答案就可以获胜。禁止出现标准漏洞。 测试用例 (请注意,这些都是独立的,面临的挑战是取得一个骰子的“手”): in: 1 5 4 3 2 out: 40 in: 1 1 4 3 1 out: 10 in: 2 2 6 5 3 out: 6 in: 2 4 2 4 6 out: 8 in: 1 1 1 1 1 …
26 code-golf  number 

22
数字三角形
挑战: 输入:正整数nnn 输出: 在[1,n][1,n][1,n]范围内创建一个列表,并将其连接到一个字符串(即n=13n=13n=13将是字符串12345678910111213)。 现在,根据输入整数,使用以下字符串的四个方向之一,使用此字符串的前缀或后缀输出三角形: 如果,将其输出为三角形◣n≡0(mod4)n≡0(mod4)n\equiv 0\pmod 4 如果,将其输出为三角形◤n≡1(mod4)n≡1(mod4)n\equiv 1\pmod 4 如果,将其输出为三角形◥n≡2(mod4)n≡2(mod4)n\equiv 2\pmod 4 如果,将其输出为三角形◢n≡3(mod4)n≡3(mod4)n\equiv 3\pmod 4 例: 输入:n=13n=13n=13 因为,所以形状为◤。这里是三个可能的有效输出:13≡1(mod4)13≡1(mod4)13\equiv 1\pmod 4 12345678910111213 11111111111111111 12345678910111213 1234567891011121 2222222222222222 2345678910111213 123456789101112 333333333333333 345678910111213 12345678910111 44444444444444 45678910111213 1234567891011 5555555555555 5678910111213 123456789101 666666666666 678910111213 12345678910 77777777777 78910111213 1234567891 8888888888 8910111213 123456789 999999999 910111213 12345678 …

24
比较版本号
发布某些软件时,我们会为其分配一个版本号。用户可能需要更新到某些软件的最新版本。因此,现在是时候找出哪个版本应该较新。 输入项 输入两个版本号作为字符串。 在此挑战的背景下,我们仅支持版本号,该版本号是一些由点组成的数字。 版本号是一个字符串,只能包含数字(0〜9)和点(.)。 点号不是版本号的第一个/最后一个字符。 点之间必须有一些数字。不能连续出现两个点。 版本号中的所有数字都应小于2 16。 输出量 比较输入的版本号并输出是否第一个大于/等于/小于第二个。您可以选择以下演示文稿之一: 使用正数/零/负数,而零表示相等; 使用三个恒定的不同值; 比较中 您无需实施本节中描述的算法。您的提交是有效的,只要它与该算法产生相同的输出即可。 版本号是一些小数点,由点连接。我们首先将两个版本号拆分为数字数组; 用零填充数组的末尾以使它们具有相同的长度; 比较第一项和最后一项: 如果两个数组项不同,则数字越大表示版本号越大 如果相同,则继续比较以下项目; 如果数组中的所有项目都相等,则两个版本相等。 测试用例 version1 version2 result 2 1 > 1.0.0 1 = 1.0 1.0.0 = 1.2.42 1.2.41 > 1.1.56789 1.2.0 < 1.10 1.2 > 1.20 1.150 < 18.04 18.4 = 7.010 …

3
高尔夫免费午餐
在给定汇率表的情况下,找到最大获利的交易所序列。 例如,考虑货币的一个 riary(你的本国货币),乙 AHT,Ç EDI和d,其中从一个到另一个率(任何交易率已经征收后)由(行,列)在入门给出ENAR汇率表如下: TO A B C D A 0.9999 1.719828 4.509549 0.709929 F B 0.579942 0.9999 2.619738 0.409959 R O C 0.219978 0.379962 0.9999 0.149985 M D 1.39986 2.429757 6.409359 0.9999 显然,用A交换A并不是一个好主意,因为这张桌子会很乐意向您收取任何费用。 不太明显,但在此表中是正确的,将A交换为任何其他货币,然后再次交换回去会造成损失: via B: 1.719828 × 0.579942 = 0.997400489976 via C: 4.509549 × 0.219978 = 0.992001569922 …

30
往上走!
给定整数N,请执行以下步骤:(以9为例)。 接收输入N。(9) 将N从base10转换为base2。(1001) 每增加1。(2112) 将结果视为base3并将其转换回base10。(68) 返回/输出结果。 输入项 可以以任何合理的数字格式接收。 您只需要处理N> 0的情况。 输出量 以数字或字符串形式返回,或打印到stdout。 规则 这是代码高尔夫球,以字节为单位的最短代码获胜。 禁止默认漏洞。 测试用例 1 -> 2 2 -> 7 5 -> 23 9 -> 68 10 -> 70 20 -> 211 1235 -> 150623 93825 -> 114252161

29
旋转总和
以包含正整数的方阵为输入,并计算该矩阵的“旋转总和”。 轮换金额: 取原始矩阵与旋转90、180和270度的同一矩阵的总和。 假设矩阵为: 2 5 8 3 12 8 6 6 10 那么旋转后的总和将是: 2 5 8 8 8 10 10 6 6 6 3 2 3 12 8 + 5 12 6 + 8 12 3 + 6 12 5 = 6 6 10 2 3 6 8 5 …

30
是整数吗?
一个数字是整体如果是不带小数部分的非负整数。所以0and 8和233494.0是整体,而1.1and 0.001和233494.999不是。 输入项 语言的默认基本/编码形式的浮点数。 例如,二元Lambda演算的默认整数表示形式是教堂数字。但是Python的默认整数表示形式是以10为基数的十进制,而不是Unary。 输出量 甲truthy如果输入是全值,falsy值,如果它不是。 请注意,如果您的语言仅支持十进制精度(例如8位),1.000000002则可以视为整数。 输入和输出可以通过任何标准的I / O方法完成。 测试用例 Input -> Output 332 -> true 33.2 -> false 128239847 -> true 0.128239847 -> false 0 -> true 0.000000000 -> true 1.111111111 -> false -3.1415926 -> false -3 -> false 计分 与代码高尔夫球一样,最短的提交将获胜。祝好运!

30
创建一个棋盘格矩阵
以一个正整数n作为输入,并输出一个由1和0组成的n × n棋盘矩阵。 左上角的数字应始终为1。 测试用例: n = 1 1 n = 2 1 0 0 1 n = 3 1 0 1 0 1 0 1 0 1 n = 4 1 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 输入和输出格式是可选的。接受将矩阵输出为列表列表。

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.