Questions tagged «math»

挑战涉及数学。还可以考虑使用更具体的标签:[数字] [数字理论] [算术] [组合] [图形理论] [几何] [抽象代数]。

3
构造五边形,避免使用指南针
规则 您将仅从两个元素开始:点AAA和BBB,使得A≠BA≠BA \neq B。这些点占据了一个在所有方向上都是无限大的平面。 在此过程的任何步骤中,您都可以执行以下三个操作中的任何一个: 画一条穿过两个点的线。 绘制一个以一个点为中心的圆,使另一个点位于圆上。 在两个对象(直线和圆)相交处添加一个新点。 您的目标是创建5个点,以使其使用尽可能少的圆形成正五边形(一个5边长相等的凸多边形)的顶点。当然,您可能还有其他要点,但对于常规的五边形,必须有5个要点。您不必为得分而绘制五边形的边缘。 计分 比较两个答案时,画出较少圆圈的答案更好。如果是圆形领带,画出最少线条的答案会更好。如果在圆圈和线条上都打成平局,那么加分最少的答案会更好。 反规则 尽管规则列表是详尽无遗的,并且详细说明了您可以执行的所有操作,但并不是,仅因为我没有说您不能做某事并不意味着您可以。 您不能创建“任意”对象。您会发现某些构造会像在“任意”位置添加一个点并从那里进行工作一样。您不能在相交处以外的其他位置添加新点。 您无法复制半径。一些构造将涉及使用指南针将其设置为两点之间的半径,然后将其拾起并在其他位置绘制一个圆。你不能做这个。 您无法执行限制过程。所有构造必须采取有限数量的步骤。渐近逼近答案还不够好。 您不能绘制圆弧或圆的一部分,以避免在计分中将其计为圆。如果您希望在显示或解释您的答案时在视觉上使用圆弧,因为它们占用的空间较小,请继续,但它们会作为得分的圆。 工具类 您可以在GeoGebra上仔细考虑问题。只需转到形状选项卡。这三个规则等效于使用中心工具的点,线和圆。 举证责任 这是标准,但我要重申。如果对某个特定答案是否有效存在疑问,举证责任由答卷人证明其答案有效,而不是由公众证明答案无效。 在我的Code-Golf网站上这是做什么的? 这是原子代码高尔夫的一种形式,类似于证明高尔夫,尽管有点怪异的编程语言。当前在元数据上有+ 22 / -0共识,即允许这种事情。

26
制作平方字
挑战 您的任务是创建一个程序,该程序接受任何给定的字符串输入,并以平方格式输出输入。空字符串应返回一个空字符串。 例子 给定输入: golf 您的程序应输出: golf o l l o flog 输入: 123 输出: 123 2 2 321 输入: a 输出: a 输入: Hello, world! 输出(注意,和之间的空格-间隙不只是换行符): Hello, world! e d l l l r o o , w w , o o r l l l d e !dlrow …

30
这个数字是阶乘吗?
任务 给定一个自然数作为输入,您的任务是根据输入是否为任何自然数的阶乘来输出真值或假值。您可以假定输入数字将始终在您的语言支持的数字范围内,但是您一定不能滥用本机数字类型来解决问题。 适用标准漏洞。 输入值 系统会为您提供自然数(类型Integer或类似数字)。 您可以采用任何所需的输入方式,但前提是要假定其位于预定义变量中。prompt允许从文件,控制台,对话框(),输入框等进行读取。也可以作为函数参数输入! 输出量 您的程序应根据输入数字是任何自然数的阶乘来输出真实或错误值。 确保所有输入的真实/假值都一致,即,如果您使用一对1和0分别表示真实和假值,那么您的程序必须为应该具有真实值的所有输入输出1,而对于所有输入则为0。所有应具有假值的输入。 除了将其写入变量之外,您可以采用任何所需的输出方式。允许写入文件,控制台,屏幕等。功能也return被允许! 您的程序不得对任何输入产生错误! 测试用例 Input Output 1 Truthy (0! or 1!) 2 Truthy (2!) 3 Falsey 4 Falsey 5 Falsey 6 Truthy (3!) 7 Falsey 8 Falsey 24 Truthy (4!) 120 Truthy (5!) 获胜标准 这是代码高尔夫球,因此以字节为单位的最短代码胜出!

30
不要给我五个!
题 : 您将获得序列的开始和结束整数,并应返回其中不包含数字的整数数目5。应该包括开始和结束编号! 例子: 1,9→1,2,3,4,6,7,8,9→结果8 4,17→4,6,7,8,9,10,11,12,13,14,16,17→结果12 50,60→60→结果1 -59,-50→→结果0 结果可能包含五个。 起始编号将始终小于终止编号。两个数字也可以为负! 我对您的解决方案以及解决方案的方式感到非常好奇。也许你们中有人会找到一个简单的纯数学解决方案。 编辑 这是一个代码高尔夫球挑战,因此最短的代码获胜。
38 code-golf  math 

30
里恩数
Champernowne常数是通过串联第一个n数字而n趋于无穷大而构成的数字。看起来像这样: 0.123456789101112131415161718192021222324252627282930... 现在,我将向您介绍里恩号码。可以将Champernowne常数的最小值视为一个整数。我将第一个数字的Rien号码n称为Ri(n)。这是如何制定的: 第一个n自然数(序列{1,2,3,...})是连接在一起的。 然后根据数字值对该结果进行排序。这样1..12会看起来像011111223456789。 由于Rien数不能有前导零,因此我们将所有0s 移到有效的位置,同时使数保持最小,从而得出101111223456789。这是Ri(n),在这种情况下是Ri(12)。 以下是Ri(n)的一些结果: Ñ 日(Ñ) 1 1 2 12 3 123 7 1234567 9 123456789 10 10123456789 15 101111111223344556789 34 10001111111111111222222222222223333333334444555555666777888999 42 100001111111111111122222222222222233333333333333444444444455556666777788889999 45 100001111111111111122222222222223333333333333344444444444444555556666777788889999 55 10000011111111111111122222222222222223333333333333333444444444444444444455555555555566666777778888899999 100 100000000000111111111111111112212222222222222222233333333333333333333444444444444444444444555555555555555555555666666666666666666667777777777777777777888888888188888888888899999999999999999999 99910000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222233333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333344444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555566666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666677777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888899999999999999999999999999999999999999999999999999999999999999999999999999999999 目标假定n输入1≤ <10000(通过自变量,STDIN或硬编码,如果您的语言不支持常规输入),则输出/返回Ri(n)。 这是一个代码高尔夫球,因此以字节为单位的最短代码获胜。您可以使用在比赛后制作的语言,但前提是该语言不是用来回答此挑战的。(当然,如果它提供了一种有趣的解决方案,则可以使用它,但是将您的答案标记为不竞争。) 参考实施 我在IE中对此进行了测试,因此实际上应该没有问题。如果有是一个问题,有一个简单的解决方案:让一个理智的浏览器。 function min(n) { var seq = []; for(var i = …

30
计算所有数字的总和
挑战在于编写一个程序或脚本,该程序将对从1到给定数字(包括给定数字)的整数内的所有数字的总和进行计数。 输入,一个正整数。输出该数字和所有较小数字的数字总和。 例子: Input: 5 Integer Sequence: 1, 2, 3, 4, 5 Sum of Digits: 1 + 2 + 3 +4 + 5 = 15 Input: 12 Integer Sequence: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 Sum of Digits: 1 + 2 + 3 + …
38 code-golf  math 

1
我的意大利面酱里有什么?
背景 在法国以及可能在欧盟其他地区,任何可供出售的食品都必须在其包装上列出其成分,并按重量百分比降序排列。但是,除非成分由文字或封面上的图像突出显示,否则不必指示确切的百分比。 例如,我的罗勒番茄酱在包装上仅显示一些大红色西红柿和美丽的罗勒叶,具有以下指示: 成分:西红柿80%,洋葱片,罗勒1.4%,海盐,蒜泥,生蔗糖,特级初榨橄榄油,黑胡椒。 听起来很美味,但是…… 我到底要吃多少洋葱? 挑战 给定重量百分比降序列表(最终不完整),输出可能在配方中找到的最小和最大重量百分比的完整列表。 您可以编写函数或完整程序。 该输入可以是任何合理的形式(数字或字符串列表的阵列,例如)。分数值应至少支持小数点后一位。如果丢失一个重量百分比可以在任何一致和明确的方式来表示(0,'?'或者null,例如)。你可以假定输入总是会关联到一个有效的配方([70]和[∅, ∅, 50]无效,例如)。 所述输出可以是任何合理的形式(一个阵列两者的最小和最大重量百分比,或双峰的单个列表的,例如)。最小百分比和最大百分比可以任意顺序([min, max]并且[max, min]都可以接受)。确切的重量百分比无需与其他百分比进行不同的处理,可以用相等的最小和最大值表示。 适用于代码高尔夫球的标准规则:在您键入代码时,我的面食正在冷却,因此最短的提交者获胜。 例子 由于此问题比乍看之下要困难得多,因此,这是一些情况的逐步解决方案。 [40, ∅, ∅] 咱们分别调用x和y两名失踪的百分比。 因为它紧随第一成分之后为40%,x所以本身不能高于40%。 [40, [?, 40], [?, ?]] 这两个缺失百分比之和始终为60%。所以 : 如果x取其最大值,则y取其最小值,因此为60%-40%= 20%。 [40, [?, 40], [20, ?]] 如果x取其最小值,则y取其最大值。但x不能低于y,因此在这种情况下x= y= 60%/ 2 = 30%。 [40, [30, 40], [20, 30]] [70, ∅, …
37 code-golf  math 

23
放弃所有正方形,分开我的人
定义 甲完全平方是可以被表示为正方形另一个整数的整数。例如,36是一个完美的正方形,因为6^2 = 36。 无平方数是一个整数,除之外,任何整数都不能将其整除1。例如,10是一个无平方数。但是,12不是自由平方数,因为12它可以被整除4并且4是一个完美的平方。 任务 给定一个正整数n,输出除的最大平方无数n。 测试用例 n output 1 1 2 2 3 3 4 2 5 5 6 6 7 7 8 2 9 3 10 10 11 11 12 6 13 13 14 14 15 15 16 2 17 17 18 6 19 19 20 10 …

30
上升和复位序列的第n个项
(挑战来自codingame.com上的多人游戏(代码冲突)) 挑战 找到以下序列的第n个项:1, 1, 2, 1, 2, 3, 1, 2, 3, 4...或者,为了使其更明显,{1}, {1,2}, {1,2,3}, {1,2,3,4}... 该序列由1到x的连接范围组成,从1开始一直一直到无穷大。 规则/ IO 输入和输出可以是任何格式,只要可以区分即可。输入可以来自任何适当的来源:STDIN,文件等。 输入可以是0或1索引,并且必须在帖子中提及所选的索引。 您将必须至少处理结果(包括255)(包括255)(意味着0索引的最大输入为32640)。如果您的语言支持,则必须解决所有问题。 这是code-golf最短的字节数获胜! 测试用例(基于0的索引) 0 -> 1 1 -> 1 5 -> 3 10 -> 1 59 -> 5 100 -> 10 1001 -> 12

30
和的平方差
求和与平方和之差。 这是数学表达式: (∑ n )2− ∑ n2(∑n)2−∑n2\left(\sum n\right)^2-\sum n^2 您的程序/方法应采用两个输入,这是范围的上限和下限,包括上限和下限。限制将是大于0的整数。 您的程序/方法应返回答案。 您可以使用任何基准,但是请在答案中说明使用的基准。 测试案例(基础10) 5,9 970 91,123 12087152 1,10 2640 这是通常的代码高尔夫球,因此答案越短越好。

28
利兰数字
给定自然数n,返回n第Leyland数。 利兰数 莱兰数是k形式的正整数 k = x^y + y^x 其中x,y,整数严格大于1。 它们按升序枚举。 编辑: @DigitalTrauma建议我包括以下“定义”: 试想一下,我们扔x^y+y^x在一个袋子的所有可能值x和y,然后在副本中避免抛出。然后,我们对那个袋子进行分类。排序的袋子是我们的顺序。 细节 您可以使用最适合您的索引(基于0或1)。 您的程序必须至少能够输出小于有符号32位整数最大值的所有Leyland数字。(低于此限制的最后一个Leyland数1996813914为index 82。) 测试用例 前几个术语如下: 8, 17, 32, 54, 57, 100, 145, 177, 320, 368, 512, 593, 945, 1124 OEIS中的A076980,但第一个条目除外。请注意,由于该额外的第一项,OEIS上的索引移动了一个。 可以在OEIS b文件中找到更多内容

5
世界大披萨
您是一位才华横溢的年轻厨师,您刚刚在世界上最负盛名的印度餐厅担任过副厨师长。您几乎没有准备印度美食的经验,但是您下定决心,因此着手证明自己。您决定成为领先的dosa专家。为此,您不仅必须掌握dosas的创建,而且还必须能够将它们缩放到任意大小。 您会发现Dosa面糊有希望的配方: 1杯饭 1杯ukda chawal 1/2杯乌拉尔·达尔 1/4杯poha 1/4茶匙methi种子 盐调味 需要的水 这将使dosa的长度约为1/2米。 挑战 编写一个程序或函数,该程序或函数将告诉餐厅工作人员从给定食谱的整数倍中制作一个披萨的确切条件。厨房空间狭窄,因此您希望代码尽可能短。以最短的代码为准,并联系更早的职位。 量匙和量杯具有以下标准尺寸:1 / 4、1 / 3、1 / 2、2 / 3、3 / 4和1。为避免激怒厨房工作人员,必须以最大单位报告测量结果。该数字只能用标准尺寸写成混合数。 根据以下约定,测量结果会传播到更大的尺寸: 3茶匙== 1汤匙 4汤匙== 1/4杯 因此,对于12的倍数,1/4 tsp methi种子变为1 tbsp。但是,对于13的倍数,它变为3 1/4 tsp。否则,它将不会以标准尺寸表示。 服务员必须能够将dosa抬到桌子上。为确保dosa不会在运输过程中中断,请指示他们将dosa随身携带。每个人最多可以携带一米的dosa。因此,对于单一或双重配方,只需一个人即可携带。如果将服务员切成小块,效率会降低,因此始终需要整数个服务员。 输入值 通过STDIN(或最接近的替代方法),命令行参数或函数参数获取正整数。此数字决定配方的缩放比例,并且可以小至1但不大于2 32 -1。它可以是该范围内的任何整数。 输出量 打印到STDOUT(或最接近的替代品)的列表是根据输入的比例以及随身携带dosa所需的服务员数量缩放的。成分必须按照上面给出的顺序和下面给出的格式列出。 例子 输入: 2 输出: 2 cups rice 2 …

5
克服集群规模
厌倦了闪存的可靠性,您决定将所有程序存储在这些旧的1,440 KiB软盘之一中。但是,即使复制不到3,000个程序,磁盘也已满。那怎么可能呢?就像您一样,精通代码高尔夫球技术,大多数程序甚至都没有100字节长,因此应该留有足够的空间... 在“超级用户”上查询该文件后,您发现文件系统的群集大小使您感到困惑,这是FAT12设计人员的恶作剧,使您的软盘中的大部分未被使用,并迫使您购买超出实际需要的容量。 买更多的软盘?决不!如果我们仅将多个程序保存在一个文件中,则群集大小将不再是一个问题,这是可能的,因为对于相同的源代码,不同的编译器/解释器的行为将有所不同。 任务 编写一个适合单个群集(小于或等于512个字节)的多语种,并尽可能解决以下许多任务。 串 读取所有输入并打印。 打印您好,世界!。 读取一行/参数(name)作为输入,并打印生日快乐[name]!。 阅读所有输入并打印我爱的标签!如果它包含一个或多个制表符(0x09),并且我讨厌空格!如果没有。 读取两行/参数,如果第二行是第一行的子字符串,则打印真实值,否则输出虚假值。 读取一行/自变量,如果字符严格按升序打印,则输出真实值;否则,输出虚假值。 读取行/参数和一个字符,并打印该字符所有出现的索引。 读取一行/自变量并打印出现次数最多的任何字符。 数学 读取两个介于0和255之间的整数,并打印它们的总和。 读取0到255之间的单个整数,并打印除以7的商和余数。 读取一个介于1到255之间的整数,如果它是一个复合数字(既不是1也不是素数),则输出一个真实值,如果不是,则输出一个虚假值。 读取一个介于1到255之间的整数,如果它是2的幂,则打印一个真实值,如果不是,则打印一个虚假值。 读取0到255之间的两个整数,并打印较大的整数。 读取介于0到255之间的十进制整数,打印其十六进制表示形式。 读取0到255之间的单个整数并打印其汉明权重(1位的数量)。 读取1到13之间的单个整数n并打印F n,第n 个斐波那契数。 例如,对于输入13,print 233。 艺术 读取一行输入/参数并对其进行构图。 例如,对于input Programming Puzzles & Code Golf,输出: +---------------------------------+ | Programming Puzzles & Code Golf | +---------------------------------+ 读取一个矩形的字符块并将其顺时针旋转四分之一圈。 例如,对于输入 tye xll epb …

8
输出大小超过Graham数的最短终止程序
编写满足以下要求的最短程序(长度以字节为单位): 没有输入 输出到标准输出 执行最终终止 输出字节总数超过Graham的数量 假设程序运行到能够访问无限资源的理想计算机1上的“正常”终止,并且在必要时修改了通用编程语言(无需更改语法)以允许这样做。基于这些假设,我们可以称其为Gedanken实验。 首先,这是一个73字节的Ruby程序,该程序在快速增长的层次结构中计算fω+ 1(99): f=proc{|k,n|k>0?n.times{n=f[k-1,n]}:n+=1;n};n=99;n.times{n=f[n,n]};puts n 1编辑:更准确地说,假设我们采用现有系统并对其进行修改,以使其对存储大小没有上限(但始终是有限的)。在指令的执行,时间不应该被修改,但该机被认为是因为它会对它的工作寿命没有上限理想。

5
i = 3 = 2
受无限系列视频的启发。 介绍 Pi定义为圆周与圆直径之比。但是如何定义一个圆呢?通常,圆被定义为到中心点的距离恒定的点(假设中心位于(0,0))。下一个问题是:我们如何定义距离?以下我们考虑距离的不同概念(由Lp-norms 引起): 给定一个范数(=测量长度的东西),我们可以很容易地构造一个距离(=两点之间的距离),如下所示: dist(A,B) := norm (A-B) 欧几里得范式由下式给出: norm((x,y)) = (x^2 + y^2)^(1/2) 这也称为L2范数。其他Lp范数是通过将2上面公式中的替换为1到无穷大之间的其他值来构造的: norm_p((x,y)) = (|x|^p + |y|^p)^(1/p) 这些不同规范的单位圆具有截然不同的形状: 挑战 给定一个p >= 1,计算Lp圆相对于- Lp范数的周长与直径之比,精度为四个有效数字。 测试用例 我们可以将其用于p,q与1 = 1/p + 1/q我们获得相同的比率Lp和Lq标准比率。此外,由于p = q = 2该比率最小,并且p = 1, q = infinity我们得到的比率为4,因此比率始终在pi和之间4。 p or q ratio 1 infinity 4 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.