Questions tagged «counting»

对于计算某些特征出现次数的挑战。

8
行号-实现nl
您的任务是实现一个类似于nlGNU核心实用程序中的命令行工具的程序。 禁止出现标准漏洞。 您不得使用任何内置或外部函数,程序或实用程序来对文件或字符串的行进行编号,例如文件nl本身或=GNU sed中的命令。 规格 输入值 该程序接受文件名作为参数。您的代码不必跨平台。应该使用运行代码的操作系统的文件名格式,即,如果您恰巧在Windows上,则目录分隔符可以为\或/。 您必须能够获取64个输入文件,包括-已指定的文件。如果给出的数目超过64,则仅处理前64个。 在文件名列表中,-代表标准输入。 如果给出了文件名,请按给出的顺序读取文件并连接其内容,并在文件名和末尾之间插入新行。如果您无法读取一个或多个文件名(因为文件不存在或您没有读取权限),请忽略它们。如果指定的所有文件名均无效,则不输出任何内容。 如果未提供文件名,请从标准输入中读取。如果未提供文件名或未提供文件名,则仅从标准输入中读取-。 输出量 程序将输出带有标准行编号的输入作为标准输出(您可以假定输入具有\n,\r\n或\r行尾;请选择对您方便的任何一种,但要指定哪一个): <5 spaces>1<tab><content of line 1 of input> <5 spaces>2<tab><content of line 2 of input> ... <4 spaces>10<tab><content of line 10 of input> ... <3 spaces>100<tab><content of line 100 of input> ... ... 行号分配了6个空格,并在这些字符的末尾插入;其余的变成空格(例如1将有5个前导空格,22将有4个前导空格,...)。如果输入足够长,则最终将在行上用完行号的空间999999。在999999行之后,您不得输出任何内容。 如果输入为空,则不输出任何内容。 退出状态 较低的数字优先:如果遇到错误1和2,则以状态1退出。 如果成功接收到输入,并且状态行成功编号并输出,则以状态0退出。 …

30
计算整数的出现次数
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 根据这个问题,数字2中有多少<1,000,000个正整数?。我正在寻找最有创意的解决方案,以将所有Integer从计数X到Y包含Integer Z。 Z可以是0到Y。 即使整数Z出现频率更高,每个找到的Integer只会计数一次。例如: Z = 2 123 counts 1 22222 also counts 1 我将从一个用Java编写的非常简单的算法开始(因为每个人都喜欢它): public class Count { public static void main(String[] args) { int count = 0; for (int i = Integer.parseInt(args[0]); i <= Integer.parseInt(args[1]); i++) { if (Integer.toString(i).contains(args[2])) { count++; } } System.out.println(count); } …

30
查找列表的“展开大小”
让我们通过以下规则定义u嵌套列表l(仅包含列表)的“展开大小”功能: 如果l为空,u(l)则为1。 如果l为非空,u(l)则等于中每个元素的展开大小的总和l。 您的任务是编写一个将列表作为输入并输出(或返回)列表未包装大小的程序(或函数)。 测试用例: [] -> 1 [[[]],[]] -> 4 [[[]],[[[[]],[]]],[[[]],[[[[]],[[],[[]]]]]]] -> 19 [[[[]]]] -> 4 这是代码高尔夫球,因此最短的程序(以字节为单位)获胜。

3
音位错误
性格 我们将这些Unicode字符称为英语IPA辅音: bdfhjklmnprstvwzðŋɡʃʒθ 我们将这些Unicode字符称为 英语IPA元音: aeiouæɑɔəɛɜɪʊʌː (是的,ː这只是长元音标记,但出于此挑战的目的,请将其视为元音。) 最后,这些是主要和次要压力标记: ˈˌ 注意,ɡ(U + 0261)不是小写的g,主应力标记ˈ(U + 02C8)不是撇号,并且ː(U + 02D0)不是冒号。 你的任务 给出一个单词,将元音堆叠在跟随的辅音之上,并将重音标记放置在其跟随的辅音下方。(正如问题标题所暗示的,这样的书写系统将辅音元音序列作为一个单元打包在一起,称为abugida。)给定输入ˈbætəlʃɪp,产生输出: æə ɪ btlʃp ˈ 甲字被保证是声母,韵母和应力标记的字符串,如上面所定义。永远不会有连续的重音标记,它们将始终放置在单词的开头和/或辅音之前。 测试用例 可能有连续的元音。例如,kənˌɡrætjʊˈleɪʃən变为 ɪ ə æ ʊeə knɡrtjlʃn ˌ ˈ 如果一个词以元音开头,打印在“基线”与辅音:əˈpiːl变 ː i əpl ˈ 一个测试用例的初始,强调元音:ˈælbəˌtrɔs变 ə ɔ ælbtrs ˈ ˌ 一句话:ˌsuːpərˌkaləˌfrædʒəˌlɪstɪˌkɛkspiːæləˈdoʊʃəs变成 æ ː ː ʊ uə aə …

10
具有不可区分项目的排列
给定一个整数列表,输出整数的排列数量,其中不可区分的排列计数一次。如果有n整数,并且每组不可区分的数字都有length n_i,则为n! / (n_1! * n_2! * ...) 规则 输入将以某种形式的列表作为具有1到12个非负整数的函数或程序的参数。 输出将是打印或返回如上所述的排列数量。 没有标准漏洞或内置函数(生成排列,组合等)。允许析因。 测试用例 输入: 1, 3000, 2, 2, 8 1, 1, 1 2, 4, 3, 2, 3, 4, 4, 4, 4, 4, 1, 1 输出: 60 1 83160

4
帮助重新计算您的代表!
几个月前,我们在meta上进行了讨论,讨论如何提高因问题投票而获得的声誉。这是我们目前的投票信誉系统的基础:1 问题投票U值得5个声望。 回答投票u值得10个声誉。 问题或答案不满意d的人值得-2声望。 对于新系统,已经有许多不同的建议,但是当前最受欢迎的与上面的相同,但是问题投票的比例扩大到+10个代表。这项挑战是要计算出安装该系统后您将获得多少代表。 让我们来看一个例子。如果投票活动为UUUUuuuuUUUUUduuudUU,则在当前系统下,您的收入为121: U x 4 x 5 = 20 = 20 u x 4 x 10 = 40 = 60 U x 5 x 5 = 25 = 85 d x 1 x -2 = -2 = 83 u x 3 x 10 = 30 = …

8
排版多维标签
在一个蒸汽朋克的多维世界中,我们的老板想在集团的多维文件柜中的每个抽屉上粘贴打印的索引标签。 老板希望使用仅为此目的而购买的字体将整个标签纸排版为单个表格,因此我们必须订购分类(金属符号片)。由于排序非常昂贵,因此我们的订购必须针对每个数字符号的准确计数。 对于给定的(以任何方式)长度≥0的一组长度,返回(以任何方式)我们的命令,这是排版所有笛卡尔坐标所需的数字频率表。它必须按键盘的出现顺序排列(即9之后为0),并且可能不包含0种排序的顺序,因此,如果根本不排序(因为尺寸的长度为0),则不能排序。什么都不打印。 如果您的代码也可以处理(即不打印任何内容)0个维度,则-3分的奖励。 最终换行符是可以接受的。 禁止使用标准漏洞。 如前所述,排序很昂贵,因此是codecolf。 善良的灵魂可能会编辑此挑战,以包括自动评分,因此请添加标题,例如:# LanguageName, 123 sorts 测试用例 给定11,打印: 1 4 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 0 1 因为所需要的标签1,2,3,4,5,6,7,8,9,10,和11。 给定2 3,打印: 1 5 2 5 3 2 因为所需要的标签1 1, 1 2, 1 3, 2 1, …

11
通过计算指关节数来计算整整31天有多少个月
你们中仍有多少人仍然使用自己的指关节来确定一个月是否已不足31天? 您的工作是编写一个程序,通过“计算转向节”来计算一个月范围内有多少个月的时间已满31天,有多少个月的时间少于31天。 礼貌:amsi.org.au 输入值 一两个月,第二个月不必按时间顺序排在第二个月之前,可以以任何合适的格式给出。例如:201703 201902— 2017年3月至2019年2月。请描述您选择的输入格式。请注意,输入必须能够包含从1到9999的所有年份。指定的月份范围包括开始和结束月份。 输出量 两个整数:给定范围(31天)中的月数和少于31天(范围)中的月数。 示例:14 10— 14个指关节,10个凹槽(这意味着在该月范围内,我们有14个月的时间为整整31天,而10个月的时间少于31天)。 例如,对于范围中第二个月按时间顺序在第一个月之前的输入201612 201611,您必须输出一对零。 输入和输出示例 | Input | Output | |---------------|-------------| | 201703 201902 | 14 10 | | 201701 202008 | 26 18 | | 000101 999912 | 69993 49995 | | 201802 201803 | 1 1 | | …

2
数论解释器,模n
一个句子数论(我们的目的)的是下列符号序列: 0和'(后继) -后继手段+1,所以0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(加法)和*(乘法) = (等于) (和)(括号) 逻辑运算符nand(a nand b是not (a and b)) forall (通用量词) v0,v1,v2等。(变量) 这是一个句子的示例: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) 这not x是简写x nand x-实际的句子会用到(v1*v1*v1 + v2*v2*v2 = v3*v3*v3) nand …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

7
创建无限的反串
一个counterstring是某种形式是在软件测试中使用自描述的测试数据。不知道它实际上是James Bach发明的,但我从那里知道。 想法如下:测试数据包含许多星号(*)。星号前面的数字告诉您此时的测试数据有多长时间。如果您需要知道测试数据中不是星号的位置,请找到最后一个星号,查看前面的数字,然后加上后面的数字。 序列开始如下: 2*4*6*8*11*14*17*20*23* ^ 如您所见,标记的星号位于位置14。 如果文件碰巧被截断,如下所示 [...]2045*20 那么你就可以得到,有2047个字符的地方(2045其中星号是加2的限制2和0)。 创建最短的程序(这是code-golf)是您的任务,该程序输出(std :: out或file或其他文件)该格式的任意长测试字符串。以字符为单位的长度作为参数给出。该程序最多应支持2 GB的测试数据(输入值2147483647字符)。 2 GB文件中的“危险”位置: 8*11* 98*102* 998*1003* 9998*10004* 99998*100005* 999995*1000003* 9999995*10000004* 99999995*100000005* 999999995*1000000006* 如果决定在995 * 999 *和995 * 1000 *或类似范围内做出决定,这应该回答@Leaky Nun的问题:否。 输入值为2147483647的2 GB文件的末尾是: 2147483640*2147483

1
帮助Jason格式化他的JSON
杰森(Jason)有一个很大的JSON,但它不可读,因此需要美化它。 格式化规格 JSON有4种不同的类型: 数字;只是0-9 弦; 用双引号引起来的"字符串\ 数组;以分隔[],项目以分隔,,项目可以是以下任何类型 对象;以分隔{},格式是key: valuekey是字符串,value是这些类型中的任何一种 间距 数组之间的逗号之间应仅留一个空格 对象应该在键和值之间只有一个空格, : 缩进 每个嵌套级别比上一个缩进2个级别 每个对象键/值对始终在自己的行上。对象缩进 如果数组包含另一个数组或对象,则该数组将缩进多行。否则,数组将保持一行 规则 内置插件,其轻视这个任务都不会允许的。 一如既往,不允许出现标准漏洞 例子 [1,2,3] [1, 2, 3] {"a":1,"b":4} { "a": 1, "b": 4 } "foo" "foo" 56 56 {"a":[{"b":1,"c":"foo"},{"d":[2,3,4,1], "a":["abc","def",{"d":{"f":[3,4]}}]}]} { "a": [ { "b": 1, "c": "foo" }, { "d": [2, …
11 code-golf  string  json  code-golf  number  code-golf  image-processing  code-golf  string  code-golf  number  sequence  arithmetic  number-theory  code-golf  string  code-golf  string  counting  code-golf  ascii-art  code-golf  math  code-golf  tips  code-golf  string  code-golf  grid  graph-theory  code-golf  parsing  interpreter  brainfuck  code-golf  math  arithmetic  number-theory  programming-puzzle  c#  code-golf  dominoes  code-golf  tips  code-golf  string  grid  crossword  code-golf  string  code-golf  kolmogorov-complexity  code-golf  number  sequence  code-golf  string  math  number  number-theory  primes  fastest-code  code-golf  number  code-golf  string  code-golf  ascii-art  number  kolmogorov-complexity  code-golf  string  grid 

6
修剪并计算小数
在此挑战中,您将编写一个程序来输出输入字符串中的小数位数,并在需要时修剪输入。 例子 -12.32 2 32 0 3231.432 3 -34.0 0 -34 023 0 23 00324.230 2 324.23 10 0 00.3 1 0.3 0 0 -04.8330 3 -4.833 规则 输入将是一个字符串,可以通过STDIN,函数参数或最接近的等效项来获取 输出可以通过函数返回,STDOUT或最接近的等效项进行。 除了您的语言的最大字符串长度外,输入整数的大小没有限制。 如果输入中有任何不必要的零(前导或尾随零): 你应该把它们拿出来 输出新数字的小数位数 输出由分隔符分隔的新数字(例如,空格,换行符,逗号) 输入将始终与此RegEx:匹配-?\d+(\.\d+)?,或者如果您不讲RegEx: 有可能是-在开始暗示负数。然后至少会有一位数字。然后可能会有... .和更多数字。 要检查输入是否有效,请在此处检查 没有正则表达式 这是代码高尔夫球,因此以字节为单位的最短代码获胜

2
计算创新八卦的图标
创新是一种纸牌游戏,玩家在从史前时代到现代时代的各个年龄段中进行战斗,以期比对手更快地获得成就。 创新中的每张卡都是唯一的,并为玩家提供了许多图标。如果我们将每张卡都视为2x3网格,那么左右两侧四个插槽中的三个插槽将始终被图标占用(黑色六边形中的符号不​​计算在内)。 该游戏有6种图标(城堡,树冠,树叶,灯泡,工厂和时钟),我们将使用chars任意代表它们012345。使用#代表黑色六边形,我们可以使用4个字符来表示每个卡上的图标。例如,上面的卡片是 0.. #.. 3.. 1.. -> 03#0 #331 355# 144# 3#0 331 55# 44# 现在,在“创新”中,游戏区域中的纸牌被分组为一堆*,以四种方式之一展开。对于每个示例,我们将使用上面的纸牌,假设最左边的纸牌03#0位于堆的顶部。 无花哨:只有最上面的卡片可见 0.. 3#0 向左张开:顶部的卡片完全可见,下面所有卡片的右三分之一 0..|.|.|.| 3#0|1|#|#| 向右张开:顶部的卡片完全可见,而下面所有卡片的左三分之一 1|3|#|0.. 4|5|3|3#0 向上张开:顶部的卡片完全可见,下面所有卡片的下半部分也完全可见。 0.. 3#0 --- 331 --- 55# --- 44# 挑战 输入将是由空格分隔的单个字符串,该字符串由两部分组成: 展开方向,是中的一个!<>^,分别表示不展开,向左展开,向右展开或向上展开。 非空卡片列表,每个卡片长4个字符,由chars组成012345#。最左边的卡片在纸堆的顶部,每张卡片正好包含一张#。 答案可能是函数,完整程序或等效的。您可以选择展开方向是第一个还是最后一个,即选择以下两种格式之一: > 03#0 #331 355# 144# 03#0 #331 355# 144# > …

1
查找栅栏
背景 原子弹在栅栏工厂附近爆炸了!由于栅栏对于我们的文明生存至关重要,因此我们必须营救尽可能多的人。我们正在派出抗辐射的机器人搜索该区域,对它们的人工视觉进行编程是您的任务。 输入值 输入的字符是一个矩形网格|-#,代表两种栅栏部分和瓦砾,以换行符分隔的字符串形式给出。爆炸造成的伤势严重,有些甚至被高温融化了。我们将候选栅栏定义为开始于此并且结束于它们之间|并且具有一个或多个-s 的水平模式(例如|-|或|---|不是||),或者是开始于并且结束于其之间-具有一个或多个|s 的垂直模式。水平候选栅栏旋转90度)。一个实际的栅栏柱是候选栅栏柱不与另一位候选人栅栏柱共享任何部件。 输出量 您的输出是输入网格中实际栅栏的数量。 例 考虑输入网格 |#|-|#|## #||--|||# ###|#|--# ###-||--| -#-|#-|#- #---#-#-| #-#-|#--| 此网格中有5个候选栅栏,但其中只有2个是实际栅栏(以粗体显示)。因此正确的输出是2。 规则 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。 其他测试用例 输入: ##-- ||## -#|- |#|# 输出:0(0个候选栅栏) 输入: -##|-##-- #|#-|#||- --|-#|#|| ##||||-## ||#|--|-| -#|-#--|# |####|#-# 输出:0(5个候选栅栏) 输入: #|--|---|-|# ####|##--||- -|-##||#|--- -#|#-|-#-||| #|-##--###|- ---#-||-#-## #|---|###|-# -|---#-#|#|# |#--|####-|- 输出:4(8条候选栅栏) 输入: -|-||---##|# ---|######-# …

2
可达的蛇方向数
这个挑战与Snake游戏无关。 想象一条通过画一条水平线形成的2D蛇n。在其身体的整数点处,这条蛇可以将其身体旋转90度。如果我们将蛇的前面定义为最左端,则旋转将移动蛇的后部,而前部将保持原位。通过反复旋转,它可以制成许多不同的蛇形体。 规则 蛇的身体的一部分不能与另一部分重叠。 蛇的身体任何部分之间都不得重叠,必须达到最终方向。在此问题中,触摸的两点被视为重叠。 我认为蛇及其反面是相同的形状。 任务 直到旋转,平移和镜像对称,总共可以制造出多少种蛇形体? 蛇体部分旋转的示例。想象一下n=10,蛇处于直线的起始方向。现在,将点4逆时针旋转90度。我们拿到的蛇从 4以10垂直趴(该蛇的尾巴)和蛇从0到4水平放置。蛇现在的身体成一个直角。 这里有一些感谢MartinBüttner的例子。 我们从水平蛇开始。 现在我们从位置4旋转。 在此方向旋转之后,我们结束了。 现在让我们考虑另一条蛇的这种取向。 现在我们可以看到非法移动,该移动在旋转过程中会引起重叠。 得分了 您的分数是n我的计算机在不到一分钟的时间内可以解决该问题的最高分。 当旋转发生时,它将随蛇一起移动一半。我们确实要担心在旋转过程中旋转的任何部分是否会与蛇的一部分重叠。为简单起见,我们可以假定蛇的宽度为零。您只能在蛇形的特定点上沿逆时针方向最多旋转90度。因为,您永远无法将蛇完全折成两段,因为那样会导致在同一方向上的同一点发生两次旋转。 无法制作的形状 不能制作的形状的一个简单例子是大写字母T。一个更复杂的版本是 (感谢Harald Hanche-Olsen的例子) 在此示例中,所有相邻的水平线和垂直线都相距1。因此,没有从这个位置采取法律行动,并且由于问题是可逆的,因此没有办法从起始位置到达那里。 语言和图书馆 您可以使用任何具有免费编译器/解释器/等的语言。适用于Linux以及任何可免费用于Linux的库。 我的机器 时间将在我的机器上运行。这是在AMD FX-8350八核处理器上的标准ubuntu安装。这也意味着我需要能够运行您的代码。因此,请仅使用易于使用的免费软件,并请提供有关如何编译和运行代码的完整说明。

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.