Questions tagged «math»

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

1
有多少个正方形?
这种挑战是由经常漫游在Facebook上一样,看起来画面灵感此。除了我们的基本广场看起来像这样: ┌─┬───┬─┐ ├─┼─┬─┼─┤ ├─┼─┴─┼─┤ ├─┼─┬─┼─┤ └─┴─┴─┴─┘ 该正方形由n x m1x1正方形组成,您必须计算该正方形内可以容纳多少个子正方形(1x1、2x2、3x3、4x4、5x5等)。正方形可能会丢失一些网格线(例如上例),也可能像下面的例子中那样完整。这意味着数学分析是没有可能(据我所知)。 输入: n建立正方形的输入的线数(); 由以下字符组成的正方形:─ ┐ ┌ └ ┴ ┘ ┬ ├ ┤ ┼ |跨n输入行。 输出: 可以容纳在输入正方形内的任何大小的正方形数量(我们在这里只需要一个数字,而每个大小都不需要一个数字)。 获奖标准: 最小的答案(字节数)获胜。 测试用例: 在: 5 ┌─┬─┬─┬─┐ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ └─┴─┴─┴─┘ 出: 30 在: 3 ┌─┬─┐ ├─┼─┤ └─┴─┘ 出: 5 在: 5 ┌─┬─┐ ├─┴─┤ ├───┤ ├─┬─┤ └─┴─┘ …

3
紫菜表计算和未知在ZFC中终止的算法
将紫菜表提供的还没有被证明在数学的标准公理系统终止程序的例子ZFC但是当一个人承担非常大基数公理就终止。 介绍 经典紫菜表是独特的有限代数与底层集合和操作,其满足的身份,并且其中用于和其中。An{1,...,2n}*x * (y * z)=(x * y) * (x * z)x*1=x+1x<2n2n*1=1 有关经典Laver表的更多信息,请参见Patrick Dehornoy所著的《辫子和自我分配》。 挑战 1*32在经典Laver表中计算并在找到nwith 时恰好终止的最短代码(以字节为单位)是什么?换句话说,程序仅在找到with时终止,否则它将永远运行。1*32<2nn1*32<2n 动机 一个秩为秩基数(也称为I3-基数)是一个非常大的水平无穷的,如果一个假设秩为秩基数的存在,那么一个人能够证明更定理如果一个不超过假设存在等级为基数的基数。如果存在一个秩为秩基数,再有就是一些经典紫菜表哪里。但是,尚无ZFC中的证明。此外,已知的是,至少其中大于(这是一个非常大的数量,因为阿克曼函数是一个快速增长的函数)。因此,任何此类程序都将持续极长的时间。An1*32<2n1*32<2nn1*32<2nAck(9,Ack(8,Ack(8,254)))Ack 我想看看可以编写多短的程序,以便我们不知道该程序是否使用标准公理系统ZFC终止,但是我们确实知道该程序最终在一个更强大的公理系统(即ZFC + I3)中终止。这个问题的灵感来自斯科特 ·亚伦森(Scott Aaronson)最近的一篇文章,在这篇文章中,亚伦森和亚当·叶迪迪亚(Adam Yedidia)建造了具有8000个州以下的图灵机,以至于ZFC无法证明图灵机不会终止,但是当人们假设大的基本假设时,已知该图灵机不会终止。 经典Laver表的计算方式 当计算紫菜表通常是方便使用的事实,在代数,我们对所有的。An2n * x=xxAn 以下代码计算经典Laver表 An #table(n,x,y)在A n中返回x * y 表格:=功能(n,x,y) 如果x = 2 ^ n则返回y; elif y = 1然后返回x + 1; 否则返回table(n,table(n,x,y-1),x + …

9
查找小数表示形式的重复!
在2年前的这一挑战中,我们发现了一个单位分数()的周期1/n where n is a natural number。 现在,您的任务是编写一个程序/函数来查找单位分数的重复项。 该repetend是十进制扩展其重复无限,等的部分: 的十进制表示形式1/6是0.16666...,则重复数为6。 的十进制表示形式1/11是0.090909...,则重复数为09。 的十进制表示形式1/28是0.0357142857142857142857...,则重复数为571428。 眼镜 以任何合理的格式输入。 用十进制,字符串或list输出重复。 对于1/7(0.142857142857...),您必须输出142857而不是428571。 对于1/13(0.076923076923076923...),您必须输出076923而不是76923。 请不要蛮力。 测试用例 Input Output 1 0 2 0 3 3 7 142857 13 076923 17 0588235294117647 28 571428 70 142857 98 102040816326530612244897959183673469387755 9899 000101020305081321345590463683200323264976260228305889483786241034447924032730578846348115971310233356904737852308313971108192746742095161127386604707546216789574704515607637135064147893726639054449944438832205273259925244974239822204263056874431760783917567431053641781998181634508536215779371653702394181230427315890493989291847661379937367410849580765733912516415799575714718658450348520052530558642287099707041115264168097787655318719062531568845337912920497019901 计分 这是代码高尔夫球。以字节为单位的最短解决方案获胜。 没有答案会被接受,因为目标不是找到能够产生最短解决方案的语言,而是找到每种语言中最短解决方案的语言。 排行榜 显示代码段 var QUESTION_ID=78850,OVERRIDE_USER=42854;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function …

23
多边形数
多边形数是ksize的一个点中的点数n。 您将得到n和k,并且您的任务是编写一个输出/打印相应编号的程序/功能。 计分 这是代码高尔夫球。以字节为单位的最短解决方案获胜。 例 的3RD六边形数(k=6, n=3)是28因为有28上面的点。 测试用例 可以从此Pyth测试套件生成。 用法:每个测试用例n在上,k下两行。 n k output 10 3 55 10 5 145 100 3 5050 1000 24 10990000 更多信息 在Wikipedia中:https://en.wikipedia.org/wiki/Polygonal_number 在Wolfram Mathworld中:http : //mathworld.wolfram.com/PolygonalNumber.html 在OEIS Wiki中:http : //oeis.org/wiki/Polygonal_numbers 各种n的n角数的OEIS序列:3 (A000217),4 (A000290),5 (A000326),6 (A000384),7 (A000566),8 (A000567),9 (A001106),10 (A001107),11 (A051682),12 (A051624),13 (A051865),14 (A051866),15 (A051867),16 (A051868),17 …

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
解线性方程
这个挑战,但具有更好的规格。 规格 您的程序将采用包含单个变量的线性方程式,x并输出的值x。 输入/解析 输入将仅包含数字,运算符,括号(())x,和一个=符号(这意味着没有空格)。 括号将始终保持平衡。 总会有至少1个x。一个x可以通过许多之前。 所有方程式都会精确地得到一个结果。 甲数可以通过以下步骤来定义。可以用正则表达式定义一个数字:-?(\d+(\.\d+)?|\.\d+)。 如果您不讲正则表达式:将数字定义为 0-9 它可能-在开始时有一个表示否定 然后可能会有一些数字。如果没有任何数字,将有一个小数点 如果存在小数点,则至少要跟一位数字 最大的数字/值将取决于您的语言能力。 一个运营商是任何的:+-*/,他们将永远数字之间出现,或括号 (5)(5)为了简单起见,这意味着不是有效的输入。 括号内始终始终包含有效的表达式(数字和/或运算符的有效组合)。“平衡”括号的定义是,每个括号(都会有一个关联的结尾) 评价 应该遵循操作顺序,并且优先级从高到低依次为: 括号(最深嵌套) 乘法与除法 加减法 如果出现两个具有相同优先级的运算符,则您应该选择向左->向右移动 输出量 您应该以某种方式输出结果。如果您不只是输出数字结果,请在答案中阐明输出的输出方式。您的输出格式应该一致。输出可能是十进制,但始终是有理数,精度受限于您语言的精度。仅当您的语言不支持浮点算术时,才不需要支持它。 规则 允许琐碎处理此任务的内置函数,但是您必须清楚[uses built-in]地在答案的标题中添加清楚。这使您的答案免于获胜 “使该任务变得琐碎的内置程序”是以下任何一种: 吸收方程式并输出a /变量值的东西 可以完全简化方程式的东西 使用eval或相关功能进行大量解析。eval如果函数和相关函数用于(只需对输入进行最少的修改)求解线性方程,则不允许使用和相关函数。 如有疑问,请在评论中提问。 允许解析方程式的内置程序 例子 3+4=x 7 4+x=5 1 3+3*3=x 12 3x-4=7+2x 11 3--1=x 4 3*(2+4x)=7x-4 -2 1.2+2.3x=5.8 …

7
在超立方体的边缘
您的工作将是编写一个函数或程序,该函数或程序将使用整数n>0作为输入并输出n三维超立方体的边缘列表。在图论中,边定义为连接的两个顶点(或顶点,如果愿意)。 例子1 一维超立方体是一条线,具有两个顶点,我们将其称为a和b。 因此,输出将是: [[a, b]] 例子2 4维超立方体(或tesseract)由32条边组成,其图形如下所示 和输出看起来像这样 [[a, b], [a, c], [a, e], [a, i], [b, d], [b, f], [b, j], [c, d], [c, g], [c, k], [d, h], [d, l], [e, f], [e, g], [e, m], [f, h], [f, n], [g, h], [g, o], [h, p], [i, …

1
这个单词有多少个字母?
受项目Euler#17的启发,这是您的挑战。编写一个完整的程序或函数,以数字作为输入,然后打印或返回用英语计算该数字(包括该数字在内)需要多少个字母(从一个开始)。您不能包含空格,逗号或连字符,但应包含单词and。例如。342拼写为:Three Hundred and Forty-Two。这是23个字母长的字母。 您的输入将是一个正整数。您不必处理无效的输入。不允许将数字转换为英语的内置程序或库。 这是有关如何拼写数字的所有规则。(注意:我意识到有些人对数字的拼写使用了不同的规则。这只是本次挑战的官方规则) 1至20 一,二,三,四,五,六,七,八,九,十,十一,十二,十三,十四,十五,十六,十七,十八,十九,二十 21至99 加入这些: 二十,三十,四十,五十,六十,七十,八十,九十 这些: -一,-二,-三,-四,-五,-六,-七,-八,-九, 请注意,四个有一个u,但四十个没有! 例子: 53: Fifty-three 60: sixty 72: seventy-two 99: ninety-nine 100至999 写出几百个(一百个,两百个,三百个,等等),一个“ 和 ”,以及上面其余的数字。该和不计入您的来信得分。 例子: 101: One hundred and one 116: One hundred and sixteen 144: One hundred and forty-four 212: Two hundred and twelve 621: Six …
12 code-golf  math  number 

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 = …

5
高效的科学计数法
前几天,我的化学老师向我们解释了科学记数法(使用小数并乘以十的幂可以更轻松地表达大数),这使我回到了几年前。在学习了基础知识之后,我们做了很多典型的数学问题,其中一些问题如下: 用科学计数法表示以下内容: a)50000000 b)120000000000000 c)90000000000000000000000000000000000000 d)pi ^ e ^ i ^ j ^ k ^ std :: vector ... z)200 ... 我想:“什么?我们被告知,科学记数法被用来提高书写效率,但是某些情况下根本没有效率!” 考虑数字 300 及其科学表示法: 3x10^2 什么,科学标记的版本实际上会占用更多空间?现在我们不能拥有它了吗?(屏幕空间是宝贵的。) 我们可以确定自己是否可以用科学计数法写数字更节省空间,或者... 任务 您的程序或函数应输入n任意大小的正数(取决于语言所支持的大小),并输出科学编号的数字。 但是,如果n在删除尾随零和尾随小数位后,原始数字显示的字符数少于或等于其科学标记版本的字符数,则必须输出该原始数字n。 您的代码必须尽可能短,因为输出也必须尽可能短。 技术指标 高效科学计数法定义如下: bx10^e b是输入数除以10的幂以得出的值1 <= b < 10。该数字必须删除所有结尾的零(如果需要,还包括小数点),但必须具有原始数字的精度(当然,要达到您语言中的小数点限制)。也就是说,90000变成9,13.500变成1.35,0.000675变成6.75等。如果该数字最终包含的小数位数超出了您的语言所能处理的范围,则应四舍五入到最大小数位数。 e是将十提高到的指数n = b x 10^e(请记住,如果n小于1 ,则此数字必须为负)。此数字不应有任何尾随零或小数点(主要是因为如果它不是整数,那是错误的...)。 字符x10^ 必须保留在b和之间的字符串中e。 测试用例 Input …
12 code-golf  string  math 

2
注册计算器挑战
一个简单的注册计算器 这个挑战涉及一个简单的注册计算器,该计算器的工作方式如下: 它有一些名为的寄存器A,B,C,...,Z,每个寄存器可以包含一个整数,它们都被初始化为0。 它执行3个字符的指令:任何指令的第一个字符是+,-,*,/,=(加,减,乘,除,复制)之一,第二个字符是寄存器的名称,第三个字符是寄存器的名称或一个的0,1。指令的含义应该很清楚,这里有一些例子: +AB表示“将寄存器的值设置A为的结果A + B”,对于,类似-AB,*AB,/AB。除法A / B与C中相同。 +A1手段“递增寄存器A的1”,并且类似地-A1递减A的1。 =AB装置“的值复制B到寄存器A,类似地=A0,=A1套A到0,1分别。 它以一串连续的指令作为输入,并返回上一个操作的结果,例如: 鉴于=A1+A1*AA它返回4。 鉴于+A1+A1=BA+A1*AB它返回6。 鉴于+A1+A1+A1*AA=BA-B1*AB它返回72。 用您喜欢的编程语言编写这样的计算器很容易,这里是Python的示例: def compute(cmd): opr = {"=": lambda x, y: y, "+": lambda x, y: x + y, "-": lambda x, y: x - y, "*": lambda x, y: x * y, "/": lambda x, y: …

3
曼哈顿数学
我定义以下运算符: 曼哈顿加法 a + M b(对于一位数字)是将b连接到a的结果。因此,a + M b = 10a + b。因此,通用运算符+ M的定义如下: a + M b = 10a + b 曼哈顿减法 a – M b(对于一位数字)是从a中删除最后一个b的结果。因此,运算符– M的定义如下: a – M b = a最后删除b 曼哈顿乘法 a× M b是用b的b实例替换a中的b的所有实例的结果。因此,× M在伪代码中定义为: a× M b = a-> s / b / <b b> …

1
有效迷宫数
给定一个WxH网格,有多少种可能的迷宫? 您对迷宫的了解: 网格正好是H正方形,W正方形是正方形。 共有三种类型的正方形:“开始”,“完成”和“空”。迷宫必须正好包含1个开始点和1个结束点,所有剩余的方块均为空。 整个迷宫周围都有墙壁。 除非违反以下规则,否则墙可以存在于任意两个正方形之间的边缘上: 从开始方块到完成方块必须存在一条路径。 因此,给定两个数字W和H,您必须返回一个数字,代表可能的正方形/墙壁配置的数目。您保证W*H > 1 例如,2x2迷宫具有完全100不同的可能配置。 这是一个代码高尔夫球,所以最短的答案是成功的!

3
计算Hankelable矩阵的数量
背景 二元汉克尔矩阵是具有仅包含0s和1s的恒定斜对角线(正倾斜对角线)的矩阵。例如,一个5x5二进制汉克矩阵看起来像 a b c d e b c d e f c d e f g d e f g h e f g h i 其中a, b, c, d, e, f, g, h, i要么0或1。 让我们定义一个矩阵中号为Hankelable如果有行和列的顺序的排列中号,使中号是汉克尔矩阵。这意味着可以对行顺序应用一种排列,对列应用一种可能的排列。 挑战 我们面临的挑战是要算多少Hankelable n通过n矩阵有全部n达到尽可能大的价值成为可能。 输出量 对于每个整数n从1个向上,输出的数目Hankelable n通过n基质与作为条目0或1。 对于n = 1,2,3,4,5答案应该是2,12,230,12076,1446672。(感谢orlp提供产生这些代码的代码。) 时限 我将在计算机上运行您的代码,并在1分钟后将其停止。输出正确答案的代码,最大n次取胜。时间限制是所有问题的答案,从n = 1最大的价值到n您给出的答案。 …

3
计算pi的幂的截断数字总和
给定一个正整数Ñ输出的第一总和Ñ的小数部分的十进制数字π Ñ。 输入和输出示例: 1→1 2→14 3→6 4→13 5→24 50→211 500→2305 5000→22852 不允许使用内置函数计算π位数或评估幂级数或连续分数。有标准漏洞。输入/输出可以采用方便的格式(stdin,stdout,功能输入/输出等)。 以字节为单位的最短代码获胜。

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.