Questions tagged «math»

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

30
用给定的宽度绘制空心的#
我从Codingame那里获得了这一挑战,并且对比我的更好的解决方案感到好奇: 通过标准输入给定宽度,在给定的宽度和长度上绘制一个空心的#号正方形。 例: 5结果 ##### # # # # # # ##### 我用python解决了这个问题,所以我对其他python代码特别感兴趣。但是,请随时以所需的任何语言发布您的解决方案。
21 code-golf  string  ascii-art  number  code-golf  grid  code-golf  string  ascii-art  code-golf  alphabet  cipher  code-golf  math  number  code-golf  quine  code-golf  palindrome  polyglot  code-golf  number  array-manipulation  counting  logic  code-golf  string  primes  binary  decision-problem  code-golf  ascii-art  kolmogorov-complexity  popularity-contest  code-golf  probability-theory  code-golf  string  code-golf  python  polyglot  programming-puzzle  c++  code-golf  math  code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

22
简化连续分数
连续分数是迭代描述分数的表达式。它们可以用图形表示: 或者它们可以表示为值列表: [a0; a1, a2, a3, ... an] 挑战: 取一个基数:和一个分母值列表:并将连续分数简化为简化的有理分数:分别返回或打印分子和分母。a0[a1, a2, a3, ... an] 例子: √19 : [4;2,1,3,1,2]: 170/39 ℯ: [1;0,1,1,2,1,1]: 19/7 π: [3;7,15,1,292,1]: 104348/33215 ϕ: [1;1,1,1,1,1]: 13/8 示例实现:(python) def foo(base, sequence): numerator = 1 denominator = sequence[-1] for d in sequence[-2::-1]: temp = denominator denominator = d * denominator …

23
除数减少
数字n的除数是将n平均除的任何数字,包括1和n本身。除数d(n)是一个数有多少个除数。这是前两个n 的d(n): n divisors d(n) 1 1 1 2 1, 2 2 3 1, 3 2 4 1, 2, 4 3 5 1, 5 2 6 1, 2, 3, 6 4 我们可以从一个数字中反复减去除数的数量。例如: 16 = 16 16 - d(16) = 16 - 5 = 11 11 - d(11) = 11 - …

1
分隔我的整数
介绍 在称为拓扑的数学领域中,有一些东西称为分离公理。直观地,您有的集合X和子集的集合X,我们可以将其视为属性。如果一个人可以X根据其属性来区分所有项目,则该系统可以很好地分开。分离公理正式化了这个想法。在此挑战中,您的任务是检查给定的三个分离公理X和属性列表。 输入项 您的输入是一个integer n ≥ 2,以及一个整数列表的列表T。中的整数T来自X = [0, 1, ..., n-1]。中的列表T可能为空且未排序,但不会包含重复项。 输出量 您的输出是由三个分离公理确定的四个字符串之一,每个公理都强于最后一个。还有其他公理,但是为了简单起见,我们坚持使用这些公理。 假设对于in 中的所有unique x和,存在一个列表,其中恰好包含其中一个。然后和满足公理T0。yXTXT 假设对于所有in x和yin X,都有两个列表T,其中一个包含x但不包含y,另一个包含y但不包含x。然后X和T满足公理T1。 假设上面的两个列表也不包含公共元素。然后X和T满足公理T2。 你的输出中的一个T2,T1,T0或TS,这取决于上述条件成立(TS手段它们都不做)。请注意,T2比T1强,T1比T0强,并且您应始终输出尽可能强的公理。 规则和计分 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 2 [] -> TS 2 [[],[1]] -> T0 2 [[0],[1]] -> T2 3 [[0],[0,1,2],[1,2]] -> TS 3 [[],[0],[0,1],[2]] -> T0 3 [[0],[0,1],[2,1],[0,1,2]] -> T0 3 …

2
多项式的符号积分
将不确定的积分应用于给定的字符串。您将使用的唯一规则是这样定义的: ∫cx^(n)dx =(c /(n + 1))x ^(n + 1)+ C,n≠-1 c,C和n都是常数。 规格: 您必须能够将多项式与任何可能的特征集成: 系数,格式可能是分数(numerator/denominator)。 认识到e和π是常数,并且在其使用中,能够形成的级分或包含它们的表达式(可以像一小部分被保持(e/denominator)或(numerator/e),或者,如果在指数,x^(e+1)) 除了这两个特殊常数,所有系数都是有理数,实数。 指数,可能是分数 x^(exponent) 除了它们之外,与它们在一起e或π在其中的表达将不会出现指数。(您不必集成,例如x^(e+1),但可以集成x^(e)) 可以使用非x 1个字符的变量(即f) 这仅适用于ASCII范围65-90和97-122。 您不必使用链式规则或集成x^(-1)。 输出必须有填充(两个词之间的分隔符,即x^2 + x + C。 如果不知道如何与上述功能集成,则应打印出该程序"Cannot integrate "+input。 它必须是完整程序。 奖金: 如果您打印出用于降价格式的“漂亮”指数(而不是)x^2,则为-10%x<sup>2</sup>。 如果您打印出等式(即∫xdx = (1/2)x^2 + C),则为-10% 例子: 输入: x 输出: (1/2)x^(2) + C 输入: -f^(-2) 输出: f^(-1) …

17
钻石拼图!
说明: 去年在数学课上,我们有时会在作业上获得这些极为简单的问题,尽管这些问题同样令人讨厌,它们被称为“钻石拼图”。这些基本上是问题,我们将在其中得到一个总和,然后要求乘积找到两个数字,当相乘时得出两个数字,相加时得出和。这些使我发疯,因为我知道如何解决它们的唯一方法(在代数I中)是只列出乘积的因子,然后查看添加哪些因子来求和。(由于当时我不知道如何使用二次方)更不用说,它们并不是对数学的完全挑战。但是,我刚想到我应该写一个程序。这就是您今天的挑战!编写一个可以解决钻石难题的程序。 示例 为模糊的图像致歉,这是我能找到的最好的。另外,也不要理会气泡中的数字。菱形的顶部是乘积,底部是和,底部和右侧是两个数字。答案如下:(这些也是您的测试用例) 9,-7 -2,-1 5、8 -9,-9 规则: 您不得使用任何预定义的函数或类来帮助您完成此任务。 您的代码必须是完整的程序或函数,一旦找到它们,它们将返回或打印答案 输入是总和和乘积,它们是作为功能参数或用户输入输入的 规格: 假定两个数字,总和和乘积将始终是整数。 这两个答案都将在-127至127之间。 您的输入将是两个整数(总和和乘积)。 请记住,这是代码高尔夫球,因此最短的字节数为准。请用标准的##语言名称,字节数为答案命名 编辑:此外,Doorknob指出,这实际上是“分解形式为x ^ 2 + bx + c的二次项”。这是思考和应对这一挑战的另一种方式。:D
21 code-golf  math 

9
数字1至7的总和
挑战 给定一个正整数N是28或以上,输出一个数字求和到的列表N,它使用每个数字1通过7一次。您可以给出程序或功能。 这些数字可以单独出现,也可以串联在一起,只要您一次使用它们而无重复即可。例如,[12, 34, 56, 7]是有效的,因为是[1, 27, 6, 4, 35]和[1234, 567],但不[123, 34567]还是[3, 2, 1476]。列出数字的顺序无关紧要。 如果N不能用1-7表示,则不返回或不输出。 其他资讯 这是代码高尔夫球,因此10月15日星期四之前以字节为单位的最短代码将获胜。 在评论中提出任何问题。 我在挑战中未指定的任何内容都取决于您。 不允许出现标准漏洞。 例子 这些可能会清除任何混淆: 输入项 28 输出量 [1, 2, 3, 4, 5, 6, 7] 输入项 100 输出量 [56, 7, 4, 31, 2] 输入项 1234567 输出量 [1234567] 输入项 29 输出量 没什么,29无效。 输入项 1891 …
21 code-golf  math  number 

3
计算给定大小的组
团体 在抽象代数中,一个组是一个元组,其中是一个集合,而是一个函数,使得以下内容成立:G ∗ G × G → G(G,∗)(G,∗)(G,\ast)GGG∗∗\astG×G→GG×G→GG\times G\rightarrow G 对于所有的在,。G (x ∗ y )∗ z = x ∗ (y ∗ z )x,y,zx,y,zx, y, zGGG(x∗y)∗z=x∗(y∗z)(x∗y)∗z=x∗(y∗z)(x\ast y)\ast z=x\ast(y\ast z) 存在一个元件在使得对于所有中,。G x G x ∗ e = xeËeGGGxXxGGGx∗e=xx∗e=Xx\ast e=x 对于每一个在,存在一个元素在使得。G y G x ∗ y = exXxGGGyÿyGGGx∗y=ex∗y=Ëx\ast y=e 组的顺序定义为的元素数。G(G,∗)(G,∗)(G,\ast)GGG 对于每个严格的正整数,至少存在一组阶。例如,是这样的组,其中和。Ñ (ç Ñ,+ …

8
疯狂的图书管理员的惊人分类系统
回到学校了!因此,对于兼职工作,您正在学校的图书馆里帮忙。问题是,首席图书馆馆长甚至从未听过“杜威十进制”一词,更不用说实施该系统了。取而代之的是,随着库的扩展,正在使用的排序系统已经“有机地”增长了。 为了保持理智,您选择编写一个程序来帮助您归还书本,因为如果对书本进行错误的分类会给您带来麻烦。(首席图书馆员非常严格。) 输入输出 输入将是(假设的)书名列表,每行一个,来自STDIN /等效语言。 您一次最多只能输入100本书(您一次只能在图书馆中随身携带这么多书籍)。 书的标题中可以有多个单词,这些单词可以用空格或其他标点符号(例如,冒号:,破折号-等)分隔。 为了便于计算,假设所有标题均为UTF-8。 输出是相同的标题,根据以下规则排序,每行再一次,与STDOUT /语言等效。 排序规则 根据书籍的平均字符值(即,累积字符值除以书籍标题中的字符数)对书籍进行数字排序,并按以下规则计数: 所有字符都用于确定标题中的字符数。 小写字母按其在字母表中的位置计数。(a = 1,b = 2,... z = 26) 如果标题中包含大写字母,则它们的小写字母价值为1.5(A = 1.5,B = 3,... Z = 39)。(“大写字母很重要!”图书管理员说。) 该列表中的每个标点符号/符号在!@#$%^&*()-=_+[]\{}|;':",./<>?~取平均值之前均从累计值中计数为-1。(“华丽的标题不是!”) 如果标题中包含以阿拉伯数字表示的数字,则在排序之前从平均值中减去该数字。多个连续的数字被视为一个数字(例如,42将减去42,而不是减去4,然后再减去2)。单个数字不计入累计值(即,每个数字贡献0),但DO计入字符数。请注意,这可能会导致负值,应适当对待。(有传言,图书馆员迷恋数学老师已有好几年了。) 如果书名包含两个以开头的单独单词R,则该书的得分为“无穷大”,并被丢到角落的一堆书中(即,随机排列在列表的末尾)。(图书馆员曾经被一个带有这些缩写的人丢弃,或者您已经听说过。) 空格不计入字符的累积值(即,它们贡献0),但确实对标题中的字符数有所贡献。 不符合上述规则的字符(例如a ÿ)不会计入字符的累积值(即,它们贡献0),但确实会增加标题中的字符数。 例如,假设的书ÿÿÿÿÿ的“分数”为(0+0+0+0+0) / 5 = 0,但是假设的书的ÿÿyÿÿ分数为(0+0+25+0+0) / 5 = 5。 您可以按自己选择的顺序输出两本“得分”相同的书。(无论如何,它们在同一架子上) 示例输入1 War and Peace Reading …

13
每个可能的周期长度
如果反复在其自己的输出上调用该函数最终达到原始编号,则可以认为具有输入并提供输出的函数(或程序)具有一个循环。例如,采用以下功能: Input: n 1 2 3 4 5 6 Output: f(n) 5 7 1 3 4 9 如果我们开始n=1,f(n)=5,f(f(n))=f(5)=4,f(f(f(n)))=f(4)=3,f(f(f(f(n))))=f(3)=1。 这是书面的(1 5 4 3)。由于此循环中有4个唯一数字,因此这是一个长度为4的循环。 您面临的挑战是编写一个具有每个可能长度的循环的程序或函数。也就是说,必须有一个长度为1,长度为2的循环,依此类推。 另外,您的函数/程序必须从正整数到正整数,并且必须是双射的,这意味着在所有正整数上,每个可能的输出值都必须有一个准确的输入值。换句话说,函数/程序必须计算正整数的排列。 详细信息:允许使用任何标准输入/输出系统,包括STDIN,STDOUT,函数参数,返回等。禁止使用标准漏洞。 您无需担心数据类型的限制-例如,仅在假设int或float可以容纳任何值的情况下保留以上属性。 对于非正整数的输入,该函数的行为没有任何限制,这些输入/输出将被忽略。 计分是按字节计的代码高尔夫球,最短的代码获胜。

6
中国剩余定理
在中国剩余定理告诉我们,我们总能找到一些能产生下不同的素模所需的任何剩余物。您的目标是编写代码以在多项式时间内输出这样的数字。最短的代码胜出。 例如,假设我们得到了以下约束(%代表mod): n % 7 == 2 n % 5 == 4 n % 11 == 0 一种解决方案是n=44。第一个条件满足,因为44 = 6*7 + 2,所以44有剩余2时,除以7,因此44 % 7 == 2。也满足了其他两个约束。还有其他解决方案,例如n=814和n=-341。 输入项 对的非空列表(p_i,a_i),其中每个模数p_i是一个不同的质数,每个目标a_i是该范围内的自然数0 <= a_i < p_i。您可以采用任何方便的形式进行输入。它实际上不一定是对列表。您可能不认为输入已排序。 输出量 这样的整数n,以便n % p_i == a_i于每个索引i。该值不必是最小值,也可以是负数。 多项式时间限制 为了防止廉价的解决方案,只是尝试n=0,n=1,n=2,等等,你的代码必须在多项式时间在运行中输入的长度。请注意,m输入中的数字具有length Θ(log m),因此m其长度不是多项式。这意味着您最多不能计数m或不能进行一次运算m,但是可以对这些值进行算术运算。 您可能不会使用像一元这样的低效率输入格式来解决此问题。 其他禁令 不允许执行以下操作的内置函数:实现中国余数定理,求解方程式或因数。 您可以使用内置函数查找mod并进行模块化加法,减法,乘法和乘幂运算(使用自然数指数)。您可能不使用其他内置的模块化操作,包括模块化逆运算,除法和查找顺序。 测试用例 这些给出最小的非负解。您的答案可能有所不同。如果直接检查输出是否满足每个约束,可能会更好。 [(5, 3)] …

9
计算Collat​​z表兄弟
为正整数n定义函数f(n),如下所示: n / 2,如果n是偶数 3 * n +1,如果n为奇数 如果您将此功能重复应用到任何 大于0的 n,则结果似乎总是收敛到1(尽管尚无人能​​够证明这一点)。此属性称为Collat​​z猜想。 将整数的停止时间定义为必须通过Collat​​z函数f传递它的次数。达到1之前必须。这是前15个整数的停止时间: 1 0 2 1 3 7 4 2 5 5 6 8 7 16 8 3 9 19 10 6 11 14 12 9 13 9 14 17 15 17 让我们用相同的停止时间呼叫任何一组数字 Collat​​z表兄弟的数字。例如,5和32是Collat​​z表兄弟,停止时间为5。 您的任务:编写一个程序或函数,该程序或函数采用一个非负整数并生成一组Collat​​z表兄弟,其停止时间等于该整数。 输入项 通过STDIN,ARGV或函数参数指定的非负整数S。 输出量 它的停止时间是S所有的数字列表,排序中升序的顺序。该列表可以由您的程序输出,也可以由您的函数返回或输出。输出格式是灵活的:只要数字之间可以容易地区分,空格就可以了,换行​​符可以换行,或者您的语言的任何标准列表格式都可以。 要求 …

2
素多项式
给定一个多项式,确定它是否为质数。 多项式是ax^n + bx^(n-1) + ... + dx^3 + ex^2 + fx + g,其中每个项是一个常数(系数)乘以一个非负整数幂x。具有非零系数的最高功率称为度。对于此挑战,我们仅考虑至少为1的多项式。即,每个多项式都包含x。另外,我们仅使用具有整数系数的多项式。 多项式可以相乘。例如,(x+3)(2x^2-2x+3)等于2x^3+4x^2-3x+9。因此,2x^3+4x^2-3x+9可以将x+3和分解为2x^2-2x+3,因此它是复合的。 其他多项式无法分解。例如,2x^2-2x+3不是任何两个多项式的乘积(忽略常数多项式或具有非整数系数的多项式)。因此,它是素数(也称为不可约)。 规则 输入和输出可以通过任何标准方式进行。 输入可以是类似的字符串,类似2x^2-2x+3的系数列表{2,-2,3}或任何类似的方式。 如果输出为素数,则输出为真值,如果为复合值,则输出为假值。您必须为所有质数产生相同的真实值,并为所有复合多项式产生相同的假值。 输入至少为1级,最大为10级。 您可能不使用内置工具进行(整数或表达式的)分解或方程式求解。 例子 真实-质数 x+3 -2x x^2+x+1 x^3-3x-1 -2x^6-3x^4+2 3x^9-8x^8-3x^7+2x^3-10 错误-复合 x^2 x^2+2x+1 x^4+2x^3+3x^2+2x+1 -3x^7+5x^6-2x x^9-8x^8+7x^7+19x^6-10x^5-35x^4-14x^3+36x^2+16x-12
21 code-golf  math  primes 

13
素数的组合产品
问题陈述 给定一组唯一的,连续的素数(不一定包括2个),则生成这些素数的第一幂的所有组合的乘积(例如,无重复)以及1。例如,给定的集{2,3,5, 7},您产生{1,2,3,5,6,7,10,14,15,21,30,35,42,70,105,210},因为: 1 = 1 2 = 2 3 = 3 5 = 5 6 = 2 x 3 7 = 7 10 = 2 x 5 14 = 2 x 7 15 = 3 x 5 21 = 3 x 7 30 = 2 x 3 x 5 …

5
塔尔,她吹!
Arrr ...嗨,我妈!松开主帆!充满右舷!啊,感受你头发中的风! 是的,我衷心...我需要一点你的技巧!我的船员比我自己更现代化……我仍然更喜欢指南针(请参阅此处了解更多信息,Arrr ...),而我的船员却总是头疼。我想要一种简单的方法来将他们称为“脑袋”的那一幕转换成我能理解的,Arrr! 我需要的是代码tha'be takin'输入的数字(小数也可以),例如tha',0 <= the headin' < 360并且它会作为最接近的罗盘点出现在答案中!啊! 以下是一些示例: > heading 0.1 North > heading 11.25 North by East > heading 22.7 North Northeast > heading 44.99 Northeast > heading 91 East 现在,如果您不愿意让它恰好落在两个罗盘点的中间,那么请不要烦恼,我要衷心...我希望代码能吐出Between <point 1> and <point 2>,例如heading 5.625会说Between North and North by East 这只会发生,因为' H = …
21 code-golf  math 

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.