Questions tagged «math»

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

3
等于长度的表达式
给定一个数字,找到一个等于该数字且长度等于该数字的表达式。 因此,对于的输入15,您可能会输出sixteen minus one,其中包含15个字符(不计算空格)。如果存在多个解决方案,请打印所需的任何内容。如果不存在,请打印impossible 只使用运营商plus,minus,times,和divided by。从左到右评估操作员。 将1234格式化为one thousand two hundred thirty four。请注意缺少“和”,并且没有破折号或逗号。 输入和输出中使用的所有数字必须是小于10,000的正整数。 输入将作为命令行参数给出。打印到标准输出。 例子 1: impossible 4: four 7: impossible 13: eight plus five (you could also output "five plus eight") 18: one plus two times six (note that operators are evaluated from left to right) 25: one thousand …
14 code-golf  math  string 

30
最小排除人数
这旨在成为一个简单的,可识别大小的代码高尔夫球。 所述MEX数字的有限集合(不包括最小数目)是最小的非负整数0, 1, 2, 3, 4, ...,它不出现藏。换句话说,这是补码的最小值。混合运算对于组合博弈论中公正博弈的分析至关重要。 您的目标是编写一个程序或命名函数以使用尽可能少的字节来计算mex。 输入: 任意顺序的非负整数列表。可能包含重复。为了具体起见,列表的长度和元素的允许范围将介于两者之间0(20包括两者之间)。 这里“列表”的定义是灵活的。代表数字集合的任何结构都可以,只要它具有固定的元素顺序并允许重复即可。除其长度外,它可能不包含任何辅助信息。 输入可以作为函数参数或通过STDIN进行。 输出量 最小排除数。输出或打印。 测试用例 [1] 0 [0] 1 [2, 0] 1 [3, 1, 0, 1, 3, 3] 2 [] 0 [1, 2, 3] 0 [5, 4, 1, 5, 4, 8, 2, 1, 5, 4, 0, 7, 7] 3 [3, …
14 code-golf  math 

7
摩尔质量的化合物
任务 编写一个程序,以吸收仅由原子序数小于或等于92(铀)的元素组成的化合物,并在中输出该化合物的摩尔质量grams/mole。 规则与限制 您可能无法使用直接为您计算摩尔质量的函数。 您的程序必须能够在脱机计算机上运行。 您可以使用一个单独的数据文件。必须提供此文件的内容。 如果选择使用1,则分数是程序的长度(以字节为单位)加上数据文件的长度(以字节为单位)。 这是代码高尔夫球,因此,最低分获胜。 输入值 包含该化合物的字符串。可以通读该字符串STDIN,将其作为参数传递或设置为变量(请指定哪个)。以下是所有有效输入: CH2 (一个碳,两个氢) (CH2)8 (8个碳,16个氢) U (1铀) 您的程序不需要对嵌入的括号(即((CH3)2N4)4)起作用,也不需要对包含原子序数大于92的元素的任何化合物起作用。如果您的程序在以上两种情况中的任何一种情况下均不起作用,则必须输出Invalid formula该情况-没有未定义的行为。 输出量 您应该STDOUT将中的化合物的摩尔质量输出到或输出到变量grams/mole。元素的原子质量列表可在此处找到(维基百科)。对于少于100个原子的化合物(四舍五入),您的答案应精确到小数位。 如果输入无效,则Invalid formula必须输出。 有关计算化合物的摩尔质量的信息,请参见grams/mole(Wikipedia)。 例子 Input Output H2O 18.015 O 15.999 (16 acceptable) C6H2(NO2)3CH3 227.132 FOOF 69.995 C6H12Op3 Invalid formula Np 237 (or Invalid formula) ((C)3)4 144.132 (or Invalid formula) CodeGolf …

8
几乎等平的苍鹭三角形
一个几乎等边海伦三角形是与以下形式的整数长度的三角形n-1,n和n+1并且还具有整数区域。前几个是: 3, 4, 5 -> 6 13, 14, 15 -> 84 51, 52, 53 -> 1170 任务:生成最短的程序,输出该n三元组。(提示:这是一个已知序列)。 获奖者将于2014年5月2日入选。

30
编写一个函数,该函数接受(x,y)并将x返回y的幂,而没有循环[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 11个月前关闭。 这是一个非常简洁的挑战。 编写一个带有两个参数的函数或过程,x并使用循环或内置的幂函数y返回WITHOUT 的结果。xy 获胜者是最具创造力的解决方案,将在3天后根据最高投票数选出。

12
3升和5升水罐拼图
您可能已经在《虎胆龙威:复仇》中看过这个问题。这个问题是基于著名的3升和5升水罐拼图,但斜度略有不同。 仔细研究一些代码,当给出1到100之间的整数时,将使用3升的水罐和5升的水罐为您提供最快的说明,将相应的水量从喷泉中量出到水箱中。 两个水罐都没有等级。喷泉的水供应充足,并且假定在每次执行该代码后将水箱清空。 一旦水进入水箱,您将无法取水。 执行的格式如下: 输入: 4 例如。 输出量 如图所示,输出每个编号的步骤,然后输出5升水罐,3升水罐和水箱的体积计数。理货格式也如下所示。步骤数也必须在步骤结束时输出。 1) Fill 5L jug 5L: 5, 3L: 0, T: 0 2) Pour from 5L jug into 3L jug 5L: 2, 3L: 3, T: 0 3) Empty 3L jug 5L: 2, 3L: 0, T: 0 4) Pour from 5L jug into …

17
测试给定数字是否为Keith数
由于斐波那契数字和序列似乎是打高尔夫球的热门话题,所以我认为用基思数字打高尔夫球可能是一个有趣的挑战。 因此,我提出了一个挑战,即创建一个函数,该函数需要一个整数,并根据数字是否为Keith数字来返回true或false。 有关基思数字的更多信息 在娱乐数学中,Keith数或repfigit数(重复的斐波那契数位的缩写)是以下整数序列中的数字:14、19、28、47、61、75、197、742、1104、1537、2208, 2580,… Numberphile的视频解释了如何计算Keith数。但基本上,您使用数字的位数。将它们加在一起,然后取原始数字的最后几位,并将它们加到计算总和中,然后冲洗并重复。并举例说明。 14 1 + 4 = 5 4 + 5 = 9 5 + 9 = 14 输入值 一个整数。 输出量 如果数字是基思数字,则为True。如果不是,则为假。
14 code-golf  math  number 

5
模拟任何一维元胞自动机
挑战 您将要编写一个完整的程序,该程序使用来自STDIN的七个数字,并将元胞自动机(CA)的二维历史记录打印到STDOUT。这是代码高尔夫。 输入格式 输入将是七个整数/字符串,以逗号分隔。第一个数字是根据Wolfram代码的规则编号(每个规则的标准名称)。第二个是初始启动配置。第三个和第四个描述了什么模式以及应将多少模式附加到启动配置的左侧。作为填充。第五和第六在右侧也是如此。最后一个数字是运行模拟的世代数。 因此,输入示例为90,11,0,4,0,4,5。这应该告诉您的程序您正在运行规则90。它还应该告诉程序您希望初始配置是11在字符串的0两端都附加4次,因此实际的开始模式是0000110000。它还告诉您的程序将此模拟运行5代。 输出您的程序应该打印每一代的整个单元格数组(用换行符分隔),以便输出是CA的时空图。对于每一代,根据作为输入提供的规则,每个单元的状态由其状态和紧靠左侧和右侧的单元的状态确定。模拟应围绕边缘。首先打印的应该是gen的起始数组。0。 输入90,11,0,4,0,4,5应尽可能精确地产生以下输出。 0000110000 0001111000 0011001100 0111111110 1100000011 0110000110 请注意,起始状态不包括在五代中。还要注意,模拟环绕着边缘。 更多例子 输入: 184,1100,01,2,01,1,4 输出: 0101110001 1011101000 0111010100 0110101010 0101010101 输入: 0,1011,1,0,0,1,2 输出: 10110 00000 00000 有关一维CA如何工作以及如何编号的更多信息

10
指数的最后一位
在此任务中,您将获得A(少于10000位数字)和B(少于2 ^ 64),并且需要计算(A·A·A·...·A(B次))。 输入A和B在一行中以空格隔开;输入由EOF终止。 输入值 34543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222345432323213232432424345445334453434324343111122234543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222345432323213232432424345445334453434324343111122234543232321323243242434544533445343432434311112223454323232132324324243454453344534343243431111222 22337254775808 38758436543765743875437656358764347568437658743658743454354645645543532487548758475847684756897548758457843758437584758478574857438758436587436587436587643875643856783478743658743658764387564387564378658437658743658743687564387564387564765746576475647564756475465746574675647654765476547534587545689475689748574385743765874585743857843765893748643587438957458754376543265874387564384764367584375874758943267632487564357 54545454123 6777744348435743587643756438765436574587564354375674365645643675 23232 3875843654376574357 54545454 输出量 6 3 5 9 约束条件 请勿使用任何内置函数或重载运算符来计算A B(您实际上根本不需要计算它)。 最短的解决方案获胜!
14 code-golf  math 

2
测试给定数字是否是吸血鬼数字
编辑:为了增加复杂性,我为挑战添加了更多内容。 在数学中,吸血鬼数(或真正的吸血鬼数)是一个复合自然数v,具有偶数个数字n,可以分解为两个整数x和y,每个整数具有n / 2个数字,而不能同时带有尾随零,其中v精确地包含x和y的所有数字(以任意顺序计数)。x和y称为the牙。 有关吸血鬼编号的更多信息 伪吸血鬼数 伪吸血鬼编号与吸血鬼编号相似,只不过n位伪吸血鬼编号的尖牙不必具有n / 2位数字的长度。伪吸血鬼数字可以具有奇数个数字,例如126 = 6×21。 输入值 从命令行或标准输入接受数字 输出量 “ 1260 = 21 * 60” (如果数字是吸血鬼,则以较小的毒牙开头。) “ 1261不是吸血鬼编号。” (如果该号码不是吸血鬼号码) “ 126 = 6 * 21”。(如果该号码是伪吸血鬼号码) 编辑:如果数字有多个毒牙,则显示它。 x = fang1a * fang1b = fang2a * fang2b
14 code-golf  math 

11
输出不同因子长方体
输出不同因子长方体 今天的任务非常简单:给定一个正整数,输出可通过其因子形成的每个长方体的代表。 说明 长方体的体积是其三个边长的乘积。例如,第4卷,其边长是整数可以具有侧面的长方体[1, 1, 4],[1, 2, 2],[1, 4, 1],[2, 1, 2],[2, 2, 1],或[4, 1, 1]。但是,其中一些代表相同的长方体:例如[1, 1, 4]和[4, 1, 1]旋转相同的长方体。只有两个不同的长方体,分别是体积4和整数边:[1, 1, 4]和[1, 2, 2]。输出可以是第一个长方体的任何表示形式,也可以是第二个长方体的任何表示形式。 输入值 程序必须采用一个正整数1≤n≤231−11≤n≤231−11 \le n \le 2^{31}−1。 输出量 您将需要以列表或任何其他可接受的方式输出所有可能的长方体。例如 Input Output 1 [[1, 1, 1]] 2 [[1, 1, 2]] 3 [[1, 1, 3]] 4 [[1, 1, 4], …

21
做矩阵乘法!
在数学中,矩阵乘法或矩阵乘积是一种从两个矩阵生成矩阵的二进制运算。该定义受矢量上的线性方程式和线性变换的启发,在应用数学,物理学和工程学中有许多应用。更详细地讲,如果A是n×m矩阵,而B是m×p矩阵,则它们的矩阵乘积AB是n×p矩阵,其中A行中的m个条目与m个条目在a处相乘。 B列并求和以产生AB条目。当两个线性变换由矩阵表示时,则矩阵乘积代表两个变换的组成。 资料来源:维基百科 换句话说,将两个矩阵相乘,例如: 1 2 3 1 4 2 3 4 × 3 1 = 3 4 5 4 6 首先,采取在第一矩阵的行号1,列号1中的第二矩阵,和乘法1通过1,2通过3,并3通过4。 1 × 1 = 1 2 × 3 = 6 3 × 4 = 12 现在将它们加在一起得到您的第一个项目: 1 2 3 1 4 19 2 3 4 × 3 1 …
14 code-golf  math  matrix 

2
罗马数字转换器功能
创建最短函数以将罗马数字字符串转换为整数。 每个字母的规则可以在Wikipedia页面上找到。大于1,000的字母将带有括号,以表示其较高的价值。 要求: 必须将罗马数字1转换为500,000 必须在一分钟内完成 不使用可能提供优势的内置函数(例如:将罗马数字转换为整数的函数) 是功能 该函数不需要支持分数。任何无效的输入都应返回数字0。 最短的函数获胜。如果是平局,则得票最多的人获胜。 测试用例 输入值 III 输出量 3 输入值 IIII 输出量 0 输入值 XVI 输出量 16 输入值 (C)(D)(L)MMI 输出量 452001

6
莱利定理
S. Ryley于1825年证明了该定理: 每个有理数可以表示为三个有理立方体的总和。 挑战 鉴于一些有理数r∈Qr∈Qr \in \mathbb Q 发现三个有理数a,b,c∈Qa,b,c∈Qa,b,c \in \mathbb Q,使得r=a3+b3+c3.r=a3+b3+c3.r= a^3+b^3+c^3. 细节 给定足够的时间和内存,您的提交应该能够为每个输入计算一个解决方案,这意味着仅用两个32位int表示一个分数是不够的。 例子 305230717280142=39829338766813−6366005495153−39775055545463=607029013173+239612924543−619227128653=(12)3+(13)3+(14)3=03+03+03=(12)3+(23)3+(56)3=(1810423509232)3+(−1495210609)3+(−25454944)330=39829338766813−6366005495153−3977505554546352=607029013173+239612924543−6192271286533071728=(12)3+(13)3+(14)30=03+03+031=(12)3+(23)3+(56)342=(1810423509232)3+(−1495210609)3+(−25454944)3 \begin{align} 30 &= 3982933876681^3 - 636600549515^3 - 3977505554546^3 \\ 52 &= 60702901317^3 + 23961292454^3 - 61922712865^3 \\ \frac{307}{1728} &= \left(\frac12\right)^3 + \left(\frac13\right)^3 + \left(\frac14\right)^3 \\ 0 &= 0^3 + 0^3 + 0^3 \\ …

13
分解游戏
输入值 单个整数。1 ≤ X ≤ 10151≤x≤10151 \leq x \leq 10^{15} 输出量 具有乘积的不同正整数的最大数量。Xxx 例子 输入:1099511627776。输出:9.一种可能的最佳因子列表是:(1、2、4、8、16、32、64、128、4096)。 输入:127381。输出4。一种可能的最佳因子列表是:(1、17、59、127)。 与这个老问题有关。
13 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.