Questions tagged «pi»

这一挑战涉及数学常数pi。

10
Bailey–Borwein–Plouffe迭代
Bailey–Borwein–Plouffe迭代 我们已经在PPCG上看到了几个pi挑战,但是没有一个挑战明确指出了您应该使用的算法。我想看看Bailey–Borwein–Plouffe算法在迭代之前使用任何语言的实现n。计算公式如下: 您的算法应将每次迭代最多输出n次,显示中间和以及最终结果以形成“三角形”。您也可以使用维基百科页面上显示的算法的简化多项式形式。运行示例n=50如下所示: 3 3.1 3.14 3.141 3.1415 3.14159 3.141592 3.1415926 3.14159265 3.141592653 3.1415926535 3.14159265358 3.141592653589 3.1415926535897 3.14159265358979 3.141592653589793 3.1415926535897932 3.14159265358979323 3.141592653589793238 3.1415926535897932384 3.14159265358979323846 3.141592653589793238462 3.1415926535897932384626 3.14159265358979323846264 3.141592653589793238462643 3.1415926535897932384626433 3.14159265358979323846264338 3.141592653589793238462643383 3.1415926535897932384626433832 3.14159265358979323846264338327 3.141592653589793238462643383279 3.1415926535897932384626433832795 3.14159265358979323846264338327950 3.141592653589793238462643383279502 3.1415926535897932384626433832795028 3.14159265358979323846264338327950288 3.141592653589793238462643383279502884 3.1415926535897932384626433832795028841 3.14159265358979323846264338327950288419 3.141592653589793238462643383279502884197 3.1415926535897932384626433832795028841971 3.14159265358979323846264338327950288419716 3.141592653589793238462643383279502884197169 3.1415926535897932384626433832795028841971693 3.14159265358979323846264338327950288419716939 3.141592653589793238462643383279502884197169399 3.1415926535897932384626433832795028841971693993 …
16 code-golf  math  pi 

11
Pi Day,Pi Minute或Pi Second?
在此挑战中,您需要确定是Pi Day,Pi Minute还是Pi Second。 因为Pi是不合理的,所以它希望您的代码尽可能短。 例子 没有提供任何输入,您的程序应使用系统时间。我只是为了清楚起见添加了它 March 14, 2016 0:00:00 Pi Day December 25, 2015 3:14:45 Pi Minute December 29, 2015 0:03:14 Pi Second January 1, 2016 0:00:00 <No Output> 什么是Pi日/分钟/秒 Pi Day 是月份是三月,日期是第十四天 Pi Minute 是小时是3,分钟是14 Pi Second 是当分钟是3,第二秒是14 Pi Day应该首选代替Pi Minute或Pi Second,并且Pi Minute应该首选代替Pi Second。 对于这个挑战,您应该使用12个小时的时间(15:14 == 3:14)。用于确定日期的时间Pi …
16 code-golf  date  pi 

4
使用ASCII艺术图可视化长除法
编写一个程序,以可视化方式用ASCII艺术进行长除法。使用您选择的输入格式,输入由两个整数组成:分子和分母。 例子: 1234÷56: 22 ---- 56|1234 112 --- 114 112 --- 2 1002012÷12: 83501 ------- 12|1002012 96 --- 42 36 -- 60 60 -- 12 12 -- 0÷35 0 - 35|0 规则: 编程语言的除法运算符的用途是允许的。 也允许使用大整数支持。 为了保持一致: 如果商为零,则在跳水板的末端打印一个零。 如果余数为零,请不要打印。 不要在任何数字上打印前导零。 末尾多余的换行符和右边的尾随空格是允许的。 字符最少的解决方案获胜。 限制: 0 <=分子<= 10 72 - 1 1 <=分母<= 9999999 …

5
播放Pi的声音
是的,您没看错标题。播放pi的声音。 更具体地说,对于前1000个pi中的每个数字,将其映射到音符,然后将产生的旋律输出到文件中。 基本上,每个数字都变成C大调音阶(基本上是正常音阶)上的音符。所以1圈到中间C,2圈到D4,3圈到E4,9圈到D5,依此类推。 规则 每个音符的长度应恰好为0.5秒。 旋律应包含pi的前1000位,包括开头的3。 1到7代表中间C到B4,8是C5,9是D5,0是E5 允许所有受良好支持的文件格式,只要它们是在此挑战之前创建的即可。 文件中的任何位置(包括开始和结束)都可能没有暂停。 乐器演奏没关系。只要可以轻易听到正确的声音,它就可以是钢琴,正弦波,或者其他任何东西。 除文件外,它不接受任何输入,不产生任何输出。禁止从其他文件读取。 禁止出现标准漏洞。 示例数学代码: (*please forgive me for this horrible, horrible mess of code*) digits = RealDigits[Pi, 10, 1000][[1]] /. {0 -> 10}; weights = {0, 2, 4, 5, 7, 9, 11, 12, 14, 16}; melody = {}; For[i = 1, …

20
缩短已经很短的数学表达式
一次,我做了一些实际的工作,更新了旧代码,碰到了一个表达式,该表达式等于在老式数学中用πx+ e x编写的表达式。我认为编写它的时间可能比使用我使用的语言(APL)编写的时间短,因此提出了一个非常简单的挑战: 编写一个函数或程序(以任何方式)接受零个或多个数字,并返回(以任何方式)x = 每个给定数字的上述表达式的结果,每个结果至少具有3个有效数字。 如果您的语言没有π和/或e,请使用值3.142和2.718。 得分是字节数,因此请以开头# LanguageName, 00 bytes。 不允许使用标准孔。 编辑:现在,我想出了一个解决方案,○+*,已被发现。原始代码为(○x)+*x。
15 code-golf  math  number  pi 

25
计算pi到5位小数
这来自http://programmers.blogoverflow.com/2012/08/20-controversial-programming-opinions/ “鉴于可以使用函数4 *(1 – 1/3 + 1/5 – 1/7 +…)来估计Pi,更多的项可以提供更高的精度,因此编写一个函数可以计算出Pi的精度为小数点后5位。 ” 注意,必须通过计算上面给出的顺序来完成估算。
15 code-golf  pi 

10
计算Pi的位数
这是一个有点不同的任务。从第1024个十六进制位置开始计算π的1024个十六进制数字。 正式地:您的程序应在不到1分钟的时间内完成,并产生以下输出: 25d479d8f6e8def7e3fe501ab6794c3b976ce0bd04c006bac1a94fb6409f60c45e5c9ec2196a246368fb6faf3e6c53b51339b2eb3b52ec6f6dfc511f9b30952ccc814544af5ebd09bee3d004de334afd660f2807192e4bb3c0cba85745c8740fd20b5f39b9d3fbdb5579c0bd1a60320ad6a100c6402c7279679f25fefb1fa3cc8ea5e9f8db3222f83c7516dffd616b152f501ec8ad0552ab323db5fafd23876053317b483e00df829e5c57bbca6f8ca01a87562edf1769dbd542a8f6287effc3ac6732c68c4f5573695b27b0bbca58c8e1ffa35db8f011a010fa3d98fd2183b84afcb56c2dd1d35b9a53e479b6f84565d28e49bc4bfb9790e1ddf2daa4cb7e3362fb1341cee4c6e8ef20cada36774c01d07e9efe2bf11fb495dbda4dae909198eaad8e716b93d5a0d08ed1d0afc725e08e3c5b2f8e7594b78ff6e2fbf2122b648888b812900df01c4fad5ea0688fc31cd1cff191b3a8c1ad2f2f2218be0e1777ea752dfe8b021fa1e5a0cc0fb56f74e818acf3d6ce89e299b4a84fe0fd13e0b77cc43b81d2ada8d9165fa2668095770593cc7314211a1477e6ad206577b5fa86c75442f5fb9d35cfebcdaf0c7b3e89a0d6411bd3ae1e7e4900250e2d2071b35e226800bb57b8e0af2464369bf009b91e5563911d59dfa6aa78c14389d95a537f207d5ba202e5b9c5832603766295cfa911c819684e734a41b3472dca7b14a94 长度最短的程序将获胜。您必须在运行时计算所有数字。您不必实现计算π的算法;如果您的语言已经提供了该功能,则可以使用它。

2
折数
Pi是一个无理数,表示其十进制表示形式永远不会终止或重复。 Pi被截断为41个十进制数字(40个位)3.1415926535897932384626433832795028841971。 如果忽略小数点并将数字列为正整数序列(避免重复),则会得到3 1 4 15 9 2 6 5 35 8 97 93 23 84 62 64 33 83 27 950 28 841 971(OEIS A064809)。 (注意,15该序列出现在序列中,而不是1 5因为1已经发生。 请注意,0因为它不是正数,所以不会发生;950包含第一个零。) 为了构造第一个归零数,我们使用此序列索引Pi的数字(第一个数字为3,第二个为1,依此类推)。 因此,第一个编号的第一位是Pi的第三位, 第二位是Pi的第一位, 第三位是Pi的第四位,第四位是Pi 的第十五位, 依此类推。 在第一个数字后添加小数点以模仿Pi。 因此,第一个第41位数字是 4.3195195867462520687356193644029372991880。 (请注意,对于第30位,我必须一直到Pi的第974位。) 为了构造第二个序数,使用第一个序数而不是Pi来重复该过程。(Pi本身可以称为零归零数。)因此,新序列为4 3 1 9 5 19 58 ...,第一个海盗数被索引以产生第二个,然后开始9.14858...。 以相同的方式创建更多的打折号,每个打折号都是从之前的打折号生成的。 挑战 您的任务是编写可能的最短程序,该程序采用两个整数N和D,并输出N截断为D十进制数字数字。 …
14 code-golf  pi 

5
Pi中的数字运行
您的目标是输出pi(π)的连续相同数字的严格递增的序列。序列中的每个术语都必须比前一个数字长一位。因此3(pi的第0个数字)是第一次出现一连串数字(长度1)。接下来出现的是33(pi的数字24和25)。当然,此序列要求pi的数字以10为底。 到目前为止已知的数字和前六个数字都出现在前800位数内: 3 33 111 9999 99999 999999 3333333 44444444 777777777 6666666666 ... (not in first 2 billion digits) 请注意,连续的9个都在同一运行中同时出现,因此,如果您发现下一个较大的运行恰好是1000个连续0s,则将填充该序列的多个项。 我的程序没有找到更多的用语。我知道前50000位或更多位中没有更多的术语。我的程序花了50万个数字花了太长时间,所以我放弃了。 参考实施 你可以: 永远输出序列 取一个整数n并找到n序列中的第一个数字 取一个整数,n然后n按pi 的第一个数字中的顺序查找数字。 确保指定您的代码执行的操作。该数字n可以是零或一个索引。 受此mathoverflow问题的启发。
13 code-golf  sequence  pi 

6
PI窗口加密
这是一种简单的加密方法,使用PI数字对消息进行编码,该方法很简单: 键只是一个正整数,它指示窗口从何处开始: 给定一个要加密的字符串,该字符串仅包含小写字母,没有空格,请计算其长度,然后找到PI的第N个数字,然后继续将每个字母向右移动该数字指示的数量。 例如,如果键是,2并且我想编码house,我从第二个开始选择5位数的窗口:14159然后它变成: h -> i o -> s u -> v s -> x e -> n a。-您的程序/函数/算法将接收两个参数,一个仅由无空格的小写字母组成的字符串,以及一个键,它只是1(1表示3)和1000之间的正整数,可能更多或更少,因为我不太确定以上述精度计算PI需要多长时间,因为: b.-您必须自己在代码中计算PI,这是一个与之比较的简洁网页:Pi Day。输入中绝不能让您计算超过1000位的PI,这意味着length(message)+ key <= 1000。 通过计算Pi,我的意思是不要在您的代码中对其进行编码(对于代码高尔夫而言是愚蠢的),也不要在您的代码中使用任何嵌入的常数,任何三角标识(2 * acos(0))或任何Web参考。 c.-输出将只是加密的字符串。 这是一个代码高尔夫球问题,较短的代码胜出! 我将在2014年7月14日接受获奖答案。
13 code-golf  pi 

3
自然派#2-河
目标 给定一个带有一列哈希的字符串,计算其总长度并除以从开始到结束的距离。 模拟 我们在模拟什么?根据本文,河流的长度与起点和终点之间的距离之比约为Pi!(这可能在经验上得到了证明,但是我可以找到数据,对于这一挑战,我们认为它是正确的)。 我们如何模拟这一点? 接受空格和哈希的字符串输入 每个哈希将与其他两个相邻 除了第一个和最后一个散列,该散列只有1个 每个字符都位于格点上 (x, y) x 是字符在其行中的索引 例如c,第四个字符是0123c567 y 是字符的行号 例如c在第三行: 0line 1line 2line 3c... 求和相邻散列之间的距离,将其称为 S 取第一个和最后一个哈希之间的距离,称为 D 返回 S/D 规格 输入值 灵活,可以采用任何标准方式(例如,函数参数,STDIN)和任何标准格式(例如,字符串,二进制)进行输入 输出量 灵活,以任何标准方式(例如退货,打印)提供输出 可以使用空格,尾随空格和前导空格 精度,请提供至少4位小数位数(即3.1416) 计分 最短的代码胜出! 测试用例 这些是我对河流的近似值。我的估算值可能很差,或者我对河流人口的估算值很差。另外,我是手动进行计算的。我本来想念的。 黄河 ### #### # # # # # # # # # …

2
解释基普尔!
介绍 Kipple是Rune Berg于2003年3月发明的基于堆栈的深奥编程语言。 Kipple有27个堆栈,4个运算符和一个控制结构。 堆栈 堆栈被命名为a- z并包含32位带符号整数。还有一个特殊的堆栈,@使输出数字更加方便。当将数字压入时@,实际上将压入该数字的ASCII值。(例如,如果您将12推到@,它将推49,然后推50。@) i在执行程序之前,将输入压入输入堆栈。解释器将i在执行之前要求存储值。执行完成后,输出堆栈上的所有内容o都会弹出以ASCII字符形式输出。由于这是Kipple唯一的IO机制,因此无法与Kipple程序进行交互。 经营者 操作数可以是堆栈标识符或带符号的32位整数。 推送:>或< 语法:Operand>StackIndentifier或StackIndentifier<Operand Push运算符将操作数向左移并将其推入指定的堆栈。例如,12>a将值12推入stack a。a>b将从堆栈中弹出最高值a并将其推入堆栈b。弹出空堆栈总是返回0 a<b相当于b>a。a<b>c从弹出最高值,b并同时推入c和a。 加: + 句法: StackIndentifier+Operand Add运算符将堆栈上最顶层项目和操作数之和压入堆栈。如果操作数是堆栈,则从中弹出值。例如,如果堆栈的最高值为a1,a+2则将3压入堆栈。如果a为空,a+2则将2推入。如果堆叠的最值a和b是1和2,然后a+b将从栈中弹出的值2 b和3推入堆栈a。 减去: - 句法: StackIndentifier-Operand 减法运算符的工作方式与加法运算符完全相同,只是它减去而不是加法。 明确: ? 句法: StackIndentifier? 如果最上面的项目为0,则Clear运算符将清空堆栈。 解释器将忽略操作符旁边不存在的所有内容,因此以下程序将起作用:a+2 this will be ignored c<i。但是,添加注释的正确方法是使用#字符。#执行前,a 和行尾字符之间的所有内容都将被删除。ASCII字符#10在Kipple中定义为行尾。 操作数可以由两个运算符共享,例如a>b c>b c?可以写为a>b<c?。 该程序1>a<2 a+a将导致a包含值[1 4](从下到上),而不是[1 3]。对于-操作员也是如此。 控制结构 Kipple中只有一种控制结构:循环。 句法: (StackIndentifier code …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

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

1
通过整数操作实现IEEE 754 64位二进制浮点数
(我暂时将问题标记为“ C”,但是如果您知道另一种支持联合的语言,则也可以使用它。) 您的任务是+ - * /为以下结构构建四个标准数学运算符: union intfloat{ double f; uint8_t h[8]; uint16_t i[4]; uint32_t j[2]; uint64_t k; intfloat(double g){f = g;} intfloat(){k = 0;} } 这样操作本身就只能操纵或访问整数部分(因此也不能在操作过程中的任何时候都与double进行比较),并且结果是完全相同的(对于非数字结果,例如,功能上是等效的NaN)好像相应的数学运算已直接应用于double。 您可以选择要操作的整数部分,甚至可以在不同的运算符之间使用不同的整数部分。(尽管我不确定您是否要这样做,您也可以选择从联合中的任何字段中删除“未签名”。) 您的分数是四个运算符中每个字符的代码长度总和。最低分获胜。 对于不熟悉IEEE 754规范的我们来说,这是一篇有关Wikipedia的文章。 编辑: 03-06 08:47在intfloat结构中添加了构造函数。您可以使用它们进行测试,而不必手动设置double /etc。

4
Base Pi中的整数
背景: Pi(π)是一个超越数,因此具有一个非终止的十进制表示形式。同样,如果以其他整数为基数,表示形式也不会终止。但是,如果我们将它写在基础上π怎么办? 小数位数代表10的幂,因此: π = 3.14… = (3 * 10^0) + (1 * 10^-1) + (4 * 10^-2) + … 因此,以base为底π,数字将代表以下各项的幂π: π = 10 = (1 * π^1) + (0 * π^0) 在这个新的基础上,整数现在具有非终止表示形式。因此,十进制的10现在变为: 10 => 100.01022… = (1 * π^2) + (0 * π^1) + (0 * π^0) + (0 …

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.