Questions tagged «number»

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

30
将字符串乘以数字!
前一阵子关于将字符串相乘存在一个挑战。它向我们展示了如何不仅可以将数字相乘,而且还可以将字符串相乘。但是,我们仍然无法正确地将数字乘以字符串。已经尝试过这样做,但这显然是错误的。我们需要解决这个问题! 你的任务: 编写一个将两个输入(一个字符串和一个整数)相乘的函数或程序。要将字符串乘以整数(适当),请将字符串拆分为字符,将每个字符重复等于整数的次数,然后将字符重新粘在一起。如果整数为负数,则在第一步中使用其绝对值,然后反转字符串。如果输入为0,则不输出任何东西(乘以0等于零)。 输入: 一个仅由可打印的ASCII字符和换行符以及一个整数(可能为负数)组成的字符串。 输出: 字符串乘以整数。 例子: Hello World!, 3 --> HHHeeellllllooo WWWooorrrlllddd!!! foo, 12 --> ffffffffffffoooooooooooooooooooooooo String, -3 --> gggnnniiirrrtttSSS This is a fun challenge, 0 --> Hello World!, 2 --> HHeelllloo WWoorrlldd!! 得分: 这是代码高尔夫球,最低字节数获胜!

30
撤消数字范围
给定一个数字n,创建从0到的范围非常简单n-1。实际上,许多语言都以内置方式提供此操作。 以下CJam程序读取一个整数,然后打印出这样的范围(请在线尝试!): ri, 请注意,它打印出没有分隔符的数字。 挑战 您的任务是逆转此过程。您应该编写一个程序,给定一个代表范围的字符串,该程序返回用于产生该范围的数字。 技术指标 给出的数字没有任何分隔符。 您可以假定该字符串形成有效范围。 您可以为范围使用基于0或1的索引。 您可以假设正确的输出将永远不会超过32,767(因此有效输入的长度永远不会超过152,725)。 您可以假设正确的输出将始终为正(因此您不必处理0或负)。 这是代码高尔夫球,因此最短的竞争性答案(以字节为单位)获胜。 测试用例 0索引: 0123 -> 4 0 -> 1 0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 -> 101 1索引: 1234 -> 4 1 -> 1 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 -> 100

30
从1到n的数字交织,相同的数字反转
一个简单的: 取小于1000 的正整数n,并输出从1到n的整数与从n到1的整数交织在一起。您必须连接数字,以便它们之间没有任何定界符出现。 测试用例: n = 1 11 n = 4 14233241 n = 26 12622532442352262172081991810171116121513141413151216111710189198207216225234243252261 n = 100 110029939849759669579489399210911190128913881487158616851784188319822081218022792378247725762675277428732972307131703269336834673566366537643863396240614160425943584457455646554754485349525051515052495348544755465645574458435942604161406239633864376536663567346833693270317130722973287427752676257724782379228021812082198318841785168615871488138912901191109299389479569659749839921001 这是代码高尔夫球,因此每种语言中以字节为单位的最短提交胜出。鼓励解释。


30
两种力量的演变
这是最初由用户Helka Homba撰写的《 Hello World!》演变的转贴。 由于此处存在元共识,因此不应将其作为重复项关闭。 最初是在两年前被问到的,最后一次活跃在六个月前。我有权从赫尔卡Homba张贴此位置 自原始版本以来,已经发明了许多语言,并且许多人加入了该站点,却再也没有机会回答原始版本,因此我认为这种重新发布是可以接受的。 面临的挑战是制作一个可以输出2^n到stdout 的程序,程序n的编号在哪里。值得注意的是,在您提交的答案中,您的程序与程序之间的Levenshtein距离必须为10或更小。 这将如何工作 下面,我将使用C#提交第一个答案,该答案将显示2 ^(n = 1)= 2。 下一位要回答的人必须使用最多10个单字符插入,删除或替换来修改代码,以便当以新答案的语言运行该代码时,它会打印2^n(带有n答案编号)。例如,第25个答案(假设它在Pyth中)将显示2 ^ 25或33554432。 这将一直持续到所有人陷入困境,因为没有新语言时,只需更改10个字符就可以运行最后一个答案的程序。共同的目标是看我们能保持多长时间,所以请不要进行任何晦涩或不必要的字符编辑(但这不是必需的)。 格式化 请按以下格式设置您的信息: #Answer N - [language] [code] [notes, explanation, observations, whatever] 其中N是答案编号(递增,N = 1、2、3,...)。 您不必知道更改了哪些确切字符。只要确保Levenshtein距离是0到10。 如果您使用某种语言回答,或者得到的代码只是一团糟,请说明您做了什么以及为什么起作用,尽管这不是必需的。 规则 了解这一挑战的关键在于,一次只能一个人回答,每个答案取决于之前的回答。 永远不会有两个答案使用相同的N。如果两个人碰巧同时回答某个N,则稍后回答的那个人(即使相差几秒钟)也应该大方删除他们的答案。 此外... 用户不能连续提交两个答案。(例如,由于我提交了答案1,所以我不能回答2,但是我可以回答3。) 尽量避免在短时间内发布过多答案。 每个答案必须使用不同的编程语言。 您可以使用语言的不同主要版本,例如Python 2/3 如果传统上使用两种不同的名称来称呼语言,则它们被视为不同的语言。(此处可能会有一些歧义,但不要让那毁了比赛。) 您不必坚持使用ASCII,可以使用所需的任何字符。Levenshtein距离将以unicode 字符进行度量。 输出应为2^n,不得为其他字符。(引导/尾随空格很好,如>>>或不可抑制的输出也可以ans=) 如果您的语言没有标准输出,请使用通常用于快速输出文本的任何内容(例如,console.log或alert在JavaScript中)。 当必须输出的2的幂变大时,您可能会假定内存无限,但不是整数大小。请注意整数溢出。 …

24
按相乘排序
您应该编写一个程序或函数,给定正整数列表,将每个元素与可能的最小正整数相乘,以创建严格增加的列表。 例如,如果输入是 5 4 12 1 3 乘法将是 5*1=5 4*2=8 12*1=12 1*13=13 3*5=15 输出将是递增列表 5 8 12 13 15 输入项 包含至少1个元素的正整数列表 输出量 正整数列表 例子 9 => 9 1 2 => 1 2 2 1 => 2 3 7 3 => 7 9 1 1 1 1 => 1 2 3 …

28
选择强力球号码!
强力球是最近引起美国关注的彩票,因为当前的累积奖金(截至2016年1月11日)是历史上最大的乐透奖金,约为15亿美元。 强力球运动员从69个编号的白球中选择5个不同的数字,并从26个编号的红球中选择1个“强力球”数字。如果他们的五个白球选择与按任何顺序绘制的内容相匹配,并且选择了正确的“强力球”号码,他们将赢得大奖。 因此,赢得大奖的机会是1 (69 choose 5)*(26 choose 1)或((69*68*67*66*65)/(5*4*3*2*1))*26,即292,201,338中的1 没有人在2016年1月9日的最新抽奖中赢得大奖,但是也许有人会在美国东部时间2016年1月13日晚上10:59赢得下一张抽奖。 挑战 编写一个模拟强力球绘图的程序或函数,不输入任何内容,而是输出1至69之间的5个不同的随机数,然后输出1至26之间的1个随机的“ Powerball”数字(可以重复5个之一)初始数字)。 “强力球”数字应始终是输出中的最后一个数字,但其他前5个数字的顺序无关紧要。 这6个数字应以十进制输出,以空格分隔或换行符分隔,并带有一个可选的尾随换行符。输出中不允许使用逗号,方括号和其他字符。 因此,这些将是有效的输出(使用最后一张图中的数字): 32 16 19 57 34 13 32 16 19 57 34 13 所有292201338可能的结果都应该具有统一的可能性。您可以使用内置的伪随机数生成器,并假定它们符合此标准。 这是可在Python 2或3中使用的简单参考实现: import random print(' '.join(map(str, random.sample(range(1,70), 5) + [random.randint(1, 26)]))) 以字节为单位的最短代码获胜。 请注意,我与强力球没有任何隶属关系,也不是真的建议您参加比赛。但是,如果您从这里的一个程序生成的数字中赢得任何收益,那么我相信我们很乐意听到这一消息。:D

30
Yahtzee小直检测
在Yahtzee游戏中,玩家掷出五个六面骰子,并尝试制造某些手以得分。这样的一手牌是小顺子:四个连续的数字,不一定是顺序的。三种可能的小直道是1, 2, 3, 4,2, 3, 4, 5和3, 4, 5, 6。 例如,[3, 5, 6, 1, 4]包含小笔直[3, 4, 5, 6]。 输入项 五个整数的未排序列表,每个整数在1到6之间(包括1和6),表示Yahtzee手。 输出量 如果手牌有小笔直则为真值,否则为假值。 测试用例 真相: [[1, 2, 3, 3, 4], [1, 2, 3, 4, 5], [3, 5, 6, 1, 4], [1, 5, 3, 4, 6], [4, 5, 2, 3, 5], [1, …

30
查找给定数字的倍数,其十进制表示形式类似于二进制
我所遇到的一个问题上,似乎有趣的代码审查现场。我认为OP做错了,但不能确定...所以让我们为他解决!(编写程序,而不是函数/过程) 输入(标准输入或类似输入): x十进制表示形式的整数。它大于1且小于2 ^ 31。 输出(标准输出或类似输出): y十进制表示形式的整数。x * y以十进制表示的乘积只能包含数字0和1。它必须是大于0的最小值。 注意:输出不受限制-如果最小值y在10 ^ 100左右,则您的程序必须输出其所有100位数字(我不知道是否有合理的限制,例如2 ^ 64 on- y并没有解决它)。 您的程序应该在合理的时间内(1秒或1个小时?)完成所有x范围内的操作。 奖金: 如果您的程序对输入的大小(RAM除外)没有限制,并且具有多项式复杂度,则将程序的字节数乘以0.8并四舍五入。 示例:输入2;输出5,因为2 * 5 = 10 示例:输入21;输出481,因为21 * 481 = 10101 免责声明:对于代码审查网站上的问题,我概不负责。如有任何差异,仅将以上描述视为适当的规格。 OEIS A079339
34 code-golf  number 

30
这个数字是邪恶的吗?
介绍 在数论中,如果二进制表示形式中的偶数个数为1,则该数字被认为是邪恶的。在今天的挑战中,您将确定给定的数字是否为邪恶。 挑战 您的工作是编写一个完整的程序或函数,以接受单个非负整数作为输入并输出(或返回)该数字是否为邪恶。 如果数字是邪恶的,则可以输出任何真值,而如果数字不是邪恶的,则可以输出任何虚假的值。 您可以以任何可接受的格式输入和输出。 不允许出现标准漏洞。 OEIS序列A001969是包含所有邪恶数字的序列。 这是前10000个邪恶数字的列表,以供参考(还有更多测试用例!) 这个问题是代码高尔夫,所以越短越好。 不要被打高尔夫球的简短答案所困扰。我鼓励您以喜欢的任何语言提交。 以下是一些测试案例: 3 => True 11 => False 777 => True 43 => True 55 => False 666 => False 排行榜 页面底部是一个堆栈片段,其中包含此问题的页首横幅。(谢谢@MartinEnder) 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 如果您想在标头中包含多个数字(例如,因为您的分数是两个文件的总和,或者您想单独列出解释器标志罚分),请确保实际分数是标头中的最后一个数字: # Perl, 43 + …

30
我的微波炉应该运行多长时间?
我饿了。让我们微波一下。给定1到4位之间的数字输入,输出微波炉应运行的秒数。 细节 技巧是弄清楚用户输入的是秒还是秒和分钟的组合。一个和十个位置应解释为秒,成百上千个位置应解释为分钟。例如,该值1234应解释为12分钟34秒,并且9876应为98分钟76秒。键入130和90都将导致90秒的烹饪时间。 以下是一些其他输入和输出: 1 = 1 11 = 11 111 = 71 1111 = 671 9 = 9 99 = 99 999 = 639 9999 = 6039 规则 这是代码高尔夫球,因此以字节为单位的最短程序获胜。不允许出现标准漏洞。给定从1到9999的任何整数输入时,获胜作品必须返回正确答案。
33 code-golf  number 

5
数学表达式中“ /”和“÷”之间的历史差异
介绍: 受到关于表达式的讨论的启发,讨论已经进行了很多年。6÷2(1+2)6÷2(1+2)6÷2(1+2) 使用表达式,数学家将很快看到正确答案是,而具有简单数学背景的人从学校毕业后将很快看到正确答案是。那么,这种争议何在呢?因此得出不同的答案呢?在编写方式时有两个相互冲突的规则。一种是由于零件,一种是由于分隔符号。6÷2(1+2)6÷2(1+2)6÷2(1+2)1119996 ÷ 2 (1+2)6÷2(1+2)6÷2(1+2)2(÷ 虽然这两个数学家和“普通人”将使用PEMDAS(括号-指数-司/乘法-加法/减法),数学家表达被这样下面评价,因为是一样例如单项式又名“ 由于并置的隐式乘法导致的单个项 ”(因此in的一部分),其计算结果将不同于(二项式又称为两个项):2 (3 )2(3)2(3)2 倍22X22x^2PPEMDAS2 × (3 )2×(3)2×(3) 6 ÷ 2 (1 + 2 )→ 62 (3 )→ 66→ 16÷2(1个+2)→62(3)→66→1个6÷2(1+2) → \frac{6}{2(3)} → \frac{6}{6} → 1 而对于“普通人”,和将是相同的(因此是in的一部分),因此他们将改用它:2 (3 )2(3)2(3)2 × (3 )2×(3)2×(3)MDPEMDAS 6 ÷ 2 (1 + 2 )→ 6 / 2 × …

9
“排序”算法
有一种“排序算法”,有时也称为Stalin排序,在该算法中,为了对列表进行排序,您只需从列表中删除元素,直到其按升序进行排序即可。例如清单 [1, 2, 4, 5, 3, 6, 6] 当使用斯大林排序进行“排序”时 [1, 2, 4, 5, 6, 6] 这三个被删除,因为它故障。 现在显然有许多方法可以删除元素以对列表进行排序。例如,任何少于两个元素的列表都必须进行排序,因此只要盲目地删除足够的元素,我们就可以对列表进行排序。既然是这种情况,我们只在乎斯大林排序可能的最长结果。 您的任务将是获取一个正整数列表,并输出可以通过从原始列表中删除元素而得出的最长排序(递增)列表的长度。那就是找到最长排序的(可能是非连续的)子列表的长度。 排序的列表可以连续多次具有相同的元素。除非程序本身为空,否则不需要支持空列表。 计分 您的答案将根据其可能的最长斯大林排序长度进行评分。程序将被解释为字节序列而不是字符序列,并且它们的顺序将是通过将字节解释为数字而产生的自然顺序。分数越低越好。 这不是代码高尔夫 这是一个简洁的工具,可帮助您对答案进行评分。 测试用例 [1, 2, 4, 5, 3, 6, 6] -> 6 [19, 2] -> 1 [3, 3, 4, 3] -> 3 [10] -> 1 [1, 2, 4, 9] …

24
可以将数字分解为2的幂吗?
昨天和孩子一起玩时,我注意到他的玩具火车上的数字: 所以我们有可分为或4281428142814−2−8−14−2−8−14-2-8-122−21−23−2022−21−23−202^2-2^1-2^3-2^0 如此简单的挑战:给定一个非负数作为输入,返回一致的真值和假值,这些值表示该数字的字符串表示形式(以10为基数且不带前导零)可以以某种方式拆分为2的幂。 例子: 4281 truthy (4-2-8-1) 164 truthy (16-4 or 1-64) 8192 truthy (the number itself is a power of 2) 81024 truthy (8-1024 or 8-1-02-4) 101 truthy (1-01) 0 falsey (0 cannot be represented as 2^x for any x) 1 truthy 3 falsey 234789 falsey 256323 falsey (we …

30
一半,一半,一半
请考虑以下数字顺序: 0,12,14,34,18,38,58,78,116,316,516,716,916,1116,1316,1516,132,332,532,…0,1个2,1个4,34,1个8,38,58,78,1个16,316,516,716,916,1116,1316,1516,1个32,332,532,… 0, \frac{1}{2}, \frac{1}{4}, \frac{3}{4}, \frac{1}{8}, \frac{3}{8}, \frac{5}{8}, \frac{7}{8}, \frac{1}{16}, \frac{3}{16}, \frac{5}{16}, \frac{7}{16}, \frac{9}{16}, \frac{11}{16}, \frac{13}{16}, \frac{15}{16}, \frac{1}{32}, \frac{3}{32}, \frac{5}{32}, \dots 它枚举单位间隔中的所有二进制分数。[0,1)[0,1个) [0, 1) (为简化此挑战,第一个元素是可选的:您可以跳过它,并考虑序列以1/2开头。) 任务 编写一个程序(完整的程序或功能),以... 选择以下行为之一: 输入n,输出序列的第n个元素(0索引或1索引); 输入n,输出序列的前n个元素; 不输入任何内容,输出可以一一取整的无限数序列; 规则 您的程序至少应支持前1000个项目; 您可以根据需要选择输出小数或分数(内置,整数对,字符串)。 此问题中不允许输入/输出为二进制数字; 这是代码高尔夫球,最短的代码获胜; 不允许出现标准漏洞。 测试用例 input output 1 1/2 0.5 2 1/4 0.25 3 3/4 0.75 …

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.