Questions tagged «pi»

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

25
烤一片Pi
编写一个程序或函数来打印或输出此准确的文本(由142个字符组成): ()()()()()() |\3.1415926| |:\53589793| \::\2384626| \::\433832| \::\79502| \::\8841| \::\971| \::\69| \::\3| \__\| 您的程序必须不接受任何输入(除非使用不可能的语言,例如sed),并产生以上文本(并且仅上面的文本)作为输出。尾随换行符是可以接受的。 这是代码高尔夫球,因此最短的答案(以字节为单位)获胜。

30
π天之谜3/14
π日快乐。这个问题的目的是计算一个半径为3的圆的面积,其中A =πr²。 要注意的是,您必须使用用与编程语言不同的语言定义的常数π。例如,您可以编写使用Fortran的C程序MATH::PI或使用Java的Python程序java.lang.Math.PI。 规则: 您的代码必须使用其他语言存储的π值进行计算。(即,它必须存储在常量库或数学库中。) 程序的所有代码都必须放在一个文件中。例如,您不能用C编写一个程序来打印π,而不能用Java编写另一个程序来运行C程序。(但是,您可以编写一个Java程序,该程序可以自己编写和编译C程序。) 您不能从网页上下载π并声称您的常量来自PHP / ASP / HTML。 这是一个在Bash中运行并使用Python的存储math.pi值的示例: #!/bin/bash PI=`python -c 'import math; print math.pi'` bc -l <<< "3 * 3 * $PI" 输出: 28.27433388231 这是一场大众竞赛,因此一周后获得最多票数的作品将获胜。 编辑:一周后,该奖项以93分获得了DigitalTrauma。感谢出色的汇编技巧-我不知道FPU将常数存储在硬件中。我希望本次比赛旨在找到一些有趣的方法来节省时钟周期,但实际上可以节省一些时间。 *图片提供:http : //xkcd.com/10/

10
小钱德勒很伤心。画他的云,使他振作起来
小钱德勒很伤心。画他的云使他振作起来。 注意:画云实际上不会使他振作起来。 圆可以定义为三元组(x,y,r),其中x是圆在笛卡尔平面上的x位置,是圆在笛卡尔平面y上的y位置以及圆r的半径。x并y可能是负面的。r永远是积极的。输入是以空格分隔的三元组形式的圆的列表。例如: 3,1,1 3,2,1.5 1,2,0.7 0.9,1.2,1.2 1,0,0.8 的3,1,1意思是“在与中心点的圆3,1与1个半径。3,2,1.5是指”在与中心点的圆3,2用1.5半径。 如果我们在图形上绘制输入的所有这些圆,则看起来像这样(我仅出于清晰起见添加了网格线和标签;它们不是必需的): 注意所有的圆是如何凝聚的。也就是说,它们全部重叠在一起,从而形成一个大的组,而没有其他的小圈子。输入保证是内聚的。 假设现在绘制一条绕这些圆形成的“边界”行进的线,而没有其他任何线。就像绘制所有圆组成的轮廓的边界一样。生成的云看起来像这样: 因此,仅通过在输入中绘制形成边界的圆弧来形成单一形状即可形成此云。换句话说,仅通过绘制不在另一个圆内的圆弧来形成云。您的程序将以上述形式接受输入,并输出显示结果云的图像。云的整体形状必须正确,但是比例,颜色,线条粗细以及在顶点处的外观取决于您。请注意,云必须是可见的,因此您不能拉出类似“此程序在白色背景上绘制白色云”,“此程序以无限小的比例绘制云”,“此程序以0绘制云”之类的内容。线宽”等。还请注意,边框的颜色必须与填充或背景的颜色不同。 另一个例子。输入: 1,4,2 5,2,1 3,1,1 3.5,2,1.2 3,3,0.7 1,2,0.7 输出: 如果云中存在“洞”,则也应绘制该洞。输入: 0,5,4 3,4,4 4,3,4 5,0,4 4,-3,4 3,-4,4 0,-5,4 -3,-4,4 -4,-3,4 -5,0,4 -4,3,4 -3,4,4 输出: 这是一条重要规则:您的程序必须仅绘制形成边框的线。这意味着您不能简单地完全绘制圆,然后用白色填充将圆绘制得稍小一些,因为该方法仍会绘制不形成边界的线,之后只会将其覆盖。该规则的目的是防止“绘制圆,然后用白色填充再次绘制圆”的实现或类似的方法。预计答案将在绘制之前实际计算出绘制对象的位置。 这是代码高尔夫球,因此最短的字符数获胜。

30
不带数学的输出Pi [关闭]
用尽可能少的字节,您的工作是编写一个输出以下程序: 3.14 为了庆祝Pi晚会!:) 规则 您可以按照自己喜欢的方式进行操作,但是有一些限制。 您可能无法在程序中的任何地方使用算术运算。这包括+,-,*,/,%,^(幂),等...这也包括递增(通常++),递减(--),位操作,任何内置函数可以被用作替换如sum(),prod(),mod(),double(),pow(),sqrt(),inc(),dec()等...(作者酌情决定) 数字3,1和4可能不会出现在代码中的任何位置。 你可能不使用任何预定义变量/常量,你的语言可能作为替代3,1和4。(作者酌情决定) 您也可以不使用任何三角函数等sin(),cos(),tan(),arcsin(),arccos(),arctan(),sinh(),cosh(),tanh(),等...(作者的自由裁量权) 您不得使用Pi(或3.14)的内置值或预定义值。没有网络请求。 您的程序不能要求任何输入(除了运行它)。 3.14是您唯一可以输出的东西,它不能成为更长/更大输出的一部分。 优胜者 4月18日字节数最少的答案将获胜。祝好运! 期待从聪明的头脑中得到聪明的答案!anyone人?:P
56 code-golf  pi 

3
乳蛋饼洛林[关闭]
由于这是丕日最近,我注意到一个数的挑战,询问您是否计算圆周率。 当然,洛林蛋饼也不是一个好蛋(如果您猜对了挑战,就可以申请+1的奖励分数¹)。因此,你的任务是写一个算法或方法是看起来像它的第一眼近似于皮,但保证不会收敛朝皮。 这是一个不足的挑战,因此请确保针对简单的测试用例(例如,使用10次算法迭代)将输出3.14...。这也是一个普及性挑战,因此请不要echo(pi)直言不讳地说IEEE 754浮点向上或向下舍入一些数字。 优胜者得到洛林蛋饼。 ¹警告:实际上不是奖金分数。索取分数,即表示您同意在2016年Pi Day之前给我烤馅饼 ² 警告:洛林乳蛋饼被用作隐喻,将您的答案标记为“已接受”

22
自然派#0-摇滚
目标 创建一个接受输入的程序/函数N,检查N随机整数对是否相对质数,然后返回sqrt(6 * N / #coprime)。 TL; DR 这些挑战是仅需要自然和大脑(也许还有一些可重复使用的资源)才能逼近Pi的算法模拟。如果您在僵尸启示录期间确实需要Pi,那么这些方法不会浪费弹药!还有另外八个挑战。检出沙盒帖子以提出建议。 模拟 我们在模拟什么?好吧,两个随机整数是相对质数(即coprime或gcd == 1)的概率是6/Pi/Pi,因此计算Pi的自然方法是挖出两个桶(或少数几个)的岩石。数他们;看看他们的gcd是否为1;重复。这样做后,一对夫妇很多次,sqrt(6.0 * total / num_coprimes)会趋向Pi。如果计算世界末日后的平方根使您感到紧张,请不要担心!有牛顿法。 我们如何模拟这一点? 接受输入 N 请执行以下N次数: 均匀生成随机正整数,i并且j 用 1 <= i , j <= 10^6 如果gcd(i , j) == 1:result = 1 其他: result = 0 取N结果的总和,S 返回 sqrt(6 * N / S) 规格 输入值 …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

3
解决魔方
编写最短的程序,以在合理的时间范围内移动并解决Rubik的多维数据集(3 * 3 * 3)(例如,在您的计算机上最多5秒,而最多移动1000秒)。 输入的格式为: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (此特定输入表示已解决的多维数据集)。 前12个2个字符的字符串是UF,UR,... BL位置中的边(U =上,F =前,R =右,B =后,L =左,D =下),然后是下8个3个字符的字符串是UFR,URB,... DBR位置中的角。 输出应以这种格式给出一系列移动: D+ L2 U+ F+ D+ L+ D+ F+ U- F+ 其中D1或D +代表将D(下)面顺时针旋转90度,L2代表将L面旋转180度,U3或U-代表将U面逆时针旋转90度。 字母不区分大小写,空格是可选的。 …

30
混合pi和e做馅饼!
大家都知道pi的数学常数,即圆周长与其直径之比。 3.14159265358979323846264338327950288419716939937510... 你可能也知道Ë数学常数,自然对数的底数。 2.71828182845904523536028747135266249775724709369996... 但是...你知道派吗?(对我而言)这是最重要的常量之一。它是pi和e交错的数字。 32.1741185298216852385485997094352233854366206248373... 作为十进制扩展: 3, 2, 1, 7, 4, 1, 1, 8, 5, 2, 9, 8, 2, 1, 6, 8, 5, 2... 这是OEIS序列A001355。 关键字:nonn,base,dumb,easy 这是一个非常愚蠢的序列。 挑战 编写一个使用非负整数n并输出pie的第n位数字的程序/函数。 技术指标 适用标准I / O规则。 标准的漏洞被禁止。 您的解决方案必须在每个常数中至少包含50位数字,这意味着它应在该序列中至少包含100个术语(请尽量不要对:P进行硬编码)。 2或3的输出不是小数点。 您的解决方案可以是0索引或1索引,但是请指定。 挑战不是要找到所有语言中最短的方法,而是要找到每种语言中最短的方法。 除非另有说明,否则您的代码通常以UTF-8编码形式以字节计分。 允许使用内置函数来计算此序列,但鼓励使用不依赖内置函数的解决方案。 鼓励甚至对“实用”语言进行解释。 测试用例 这些是0索引的。 Input Output 1 2 2 1 …

18
查找pi的第n个小数
已经有30个专门针对pi的挑战,但是没有一个挑战要求您找到第n个小数,因此... 挑战 对于0 <= n <= 10000显示范围内的任何整数,pi的第n个小数。 规则 小数点后的每个数字 3. 您的程序可能是功能,也可能是完整程序 您必须以10为底输出结果 您可以n从任何合适的输入方法(stdin,input(),函数参数等)获得,但不进行硬编码 如果您选择的语言是本机语言,则可以使用基于1的索引 你不必处理无效的输入(n == -1,n == 'a'或n == 1.5) 允许内置,如果它们支持至少 10k小数 运行时无关紧要,因为这是最短的代码,而不是最快的代码 这是代码高尔夫球,以字节为单位的最短代码获胜 测试用例 f(0) == 1 f(1) == 4 // for 1-indexed languages f(1) == 1 f(2) == 1 // for 1-indexed languages f(2) == 4 f(3) …
33 code-golf  math  pi 

6
在Pi中查找素数
素数无处不在... 他们躲在Pi里面 3.141592653 58979 3238 462643 3832 795028841 971693993751 让我们得到这些素数! 挑战 给定一个输入整数n>0,找出多少素数隐藏在的前几个n数字之内Pi 例子 因为n=3我们应该在中搜索素数[3,1,4]。有2个质数(3,31),因此您的代码应输出2 For n=10,前10位数字是,[3,1,4,1,5,9,2,6,5,3]并且您的代码应输出,12因为[2, 3, 5, 31, 41, 53, 59, 653, 4159, 14159, 314159, 1592653]它们已被隐藏(并找到了!)。 测试用例 输入->输出 1->1 3->2 13->14 22->28 42->60 50->93 150->197 250->363 500->895 规则 您的代码至少n=50必须能够找到所有质数, 是的,您可以对前50位数字进行硬编码,Pi如果您喜欢Entries,则 对答案进行硬编码无效 这是代码高尔夫球。最短的答案以字节为单位!
30 code-golf  math  primes  pi 

27
皮打了你的电话
挑战: Pi应该是无限的。这意味着每个数字都包含在pi的小数部分内。您的任务将是在输入上取一个正整数,并在输出上以pi位返回此数字的位置。 例如,如果输入为59,我们将返回4 这就是为什么:我们将59在pi的数字中查找数字 3.14159265... ^^ 该值从第4位开始,因此输出为4。 其他一些例子: input : 1 output : 1 input : 65 output : 7 input : 93993 output : 42 input : 3 output : 9 规则: 您不必处理前200个数字中不存在的数字 与往常一样,标准漏洞是被禁止的。 这是codegolf,所以较少的字节获胜。
30 code-golf  pi 

28
计算超级对数
这应该是一个简单的挑战。 给定一个数字n >= 0,输出的超级对数(或log *,log-star或迭代对数,它们是等效的,因为n对于该挑战永远不会为负。)n。 这是四官能的两个反函数之一。另一个是超级根,这是一个相关的问题。 例子 Input Output 0 0 1 0 2 1 3 2 4 2 ... 15 2 16 3 ... 3814279 3 3814280 4 规则 您可能不需要支持小数。 您需要至少支持输入3814280 = ceiling(e^e^e)。 您可能不对值进行硬编码3814280。(理论上,您的程序必须支持更高的数字。)我希望实现一种算法。 最短的代码胜出。 相关OEIS
29 code-golf  math  code-golf  array-manipulation  sorting  code-golf  math  arithmetic  matrix  code-golf  string  kolmogorov-complexity  code-golf  string  code-golf  math  sequence  arithmetic  recursion  code-golf  math  ascii-art  sequence  code-golf  math  array-manipulation  code-golf  code-golf  kolmogorov-complexity  code-golf  string  code-golf  string  decision-problem  code-golf  array-manipulation  tips  javascript  json  code-golf  math  string  number  number-theory  code-golf  math  sequence  fibonacci  number  arithmetic  fastest-code  integer  code-golf  math  sequence  code-golf  string  file-system  tips  golfscript  code-golf  string  code-golf  string  natural-language  code-golf  string  file-system  code-golf  math  array-manipulation  code-challenge  image-processing  compression  code-golf  math  number  sequence  code-golf  math  combinatorics  regular-expression  code-golf  sequence  pi  code-golf  ascii-art  code-golf  string  array-manipulation  sorting  code-golf  string  graph-theory  code-golf  string  code-golf  string  ascii-art  code-challenge  compression  code-golf  code-golf  math  sequence  number-theory  code-golf  maze  graph-theory  code-golf  math  sequence 

9
将随机数映射到pi
十进制的双精度表示只能保证15个小数位的精度,因此pi近似为: 3.141592653589793 您可以看到数字3在位置1, 10, 16,数字1在位置2, 4等。 挑战 您的任务是创建一个程序或函数,该程序或函数将创建一个介于0和1之间的随机双数,并将该数字的值映射到pi的值。您可以通过将不同的数字放置在随机数中pi在数字中的位置来实现。如果在pi中找不到该数字,则将其跳过,并且pi中所有不在随机数中的数字都将以表示x。从左侧开始,每个值只能使用一次。 一些示例可能会更清楚地说明这一点。在以下示例中,第一个数字是pi,第二个是随机数,最后一个是所需的输出。 3.141592653589793 0.111111111111111 x.1x1xxxxxxxxxxxx 3.141592653589793 0.531000000000000 3.1xx5xxxxxxxxxxx 3.141592653589793 0.123456789123456 3.141592653x8x7xx 3.141592653589793 0.967552381459391 3.14159265358979x 规则: 该函数不应接受任何输入(可能的异常在项目要点3中进行了说明) 输出应仅由输出字符串组成,并带有可选的换行符(也可以接受单个尾随空格) 如果您的程序没有内置的Pi值和/或RNG,则可以对Pi进行硬编码,然后将随机数作为输入。您不能对随机数进行硬编码或将Pi用作输入。 Pi的硬编码值和15个随机数字(可以跳过,0.因为您知道它在0到1之间)都将包括在字节数中。 如果您的语言没有要求的精度,则可以在以下限制下使用较低的精度 Pi的数字必须精确到您所拥有的精度 输出的值不能超过保证正确的值,即,如果精度只允许8个精确的小数,则不能输出15位数字。 即使您的程序仅支持8位数字,Pi的硬编码值也将计为16个字节(不需要小数点)。 随机数的输入值将计为15个字节(您不需要0.。这是因为精度较低的语言不应有不公平的优势。 该程序必须支持5位小数精度(至少)。 编辑:要验证答案:应该以某种方式打印随机数,但是此操作不必包含在字节数中。因此,例如,如果可以print r在脚本末尾插入a ,则该部分不会增加得分。 如果它是另一项必要操作的一部分,则不能减去这些字节。也就是说,如果代码是print pi, r,则只能减去, r。 如果你要插入的部分代码中的几个地方,请包括两个版本(一个是打印出随机数,并且不带有注释,如一个:_p和_oNo,需要打印的随机数_p确实xxx和_oNo不yyy。_p并且_oNo不会包含在字节数中。 以字节为单位的最短代码获胜。 排行榜 这篇文章底部的Stack Snippet会根据答案a)生成目录,a)作为每种语言最短解决方案的列表,b)作为整体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes …
27 code-golf  string  random  pi 

8
Pi仍然是错误的[关闭]
皮错了 计算pi的一种常见方法是将“飞镖”扔到1x1的盒子中,并查看与投掷的总数相比,单位圆中的哪一块土地: loop x = rand() y = rand() if(sqrt(x*x + y*y) <= 1) n++ t++ pi = 4.0*(n/t) 编写一个看起来应该正确计算pi的程序(使用此方法或其他常用的pi计算方法),但应计算tau(tau = 2 * pi = 6.283185307179586 ...)。您的代码必须至少产生前6个小数位:6.283185 优胜者在6月6日(从今天起一周)加冕。

30
圆角Pi日快乐
为了庆祝“ Rounded Pi Day”,您必须利用今天的日期来制作一个程序,该程序将圆的直径乘以3.1416来获取圆的直径并输出其周长,其中必须使用今天的日期获得3.1416。 Input 3 Output 9.4248 etc. 不将日期作为输入。您不必使用日期的所有组成部分,但是pi的数字必须来自格式化Date对象或使用日期对象来获取它。到目前为止的答案看起来不错。 不知道还要指定什么。到目前为止,所有答案都符合我的期望。 我的约束是您必须使用日期的组成部分来提出Pi。您当然可以使用这些组件,乘以0,然后添加3.1416,但这很无聊,而且浪费了宝贵的字符! 最短的代码胜出!

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.