Questions tagged «geometry»

该挑战旨在通过使用,操纵或创建形状或其他几何结构来解决。

5
是L凸的吗?
背景 甲四角被称为L-凸,如果有可能从任何瓦到任何其他瓦片行程由L形路径,即,云在基本方向并且至多一次改变方向的路径。例如,1图中的s 的多米诺骨牌 0 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 0 0 不是L凸的,因为从左下角1到右上角的两个L形路径1都包含0: 0>0>1>1>1 0 ^ ^ 1 1 1 1 0 0 ^ ^ 1>1>0>0>0 0 但是,1此图中s 的多米诺是L凸的: 0 1 1 1 0 0 1 1 1 1 1 1 …

11
清空一个游泳池。。。只带一个红色独奏杯
您有一个充满水的游泳池。您需要清空它,但您无法想到一种有效的方法。因此,您决定使用红色的独奏杯。您将一路重复装满杯子并将其倾倒在游泳池外。 挑战 清空游泳池需要多长时间? 输入值 [shape of pool] [dimensions] [shape of cup] [dimensions] [speed] shape of pool将这些字符串之一:circle,triangle或rectangle。请注意,这些实际上是指3维形状:圆柱,三角形棱柱和矩形棱柱。 dimensions 会因形状而异。 圈子:[radius] [height]。体积=πr 2 h 三角形:[base] [height] [length]。体积= 1/2(bh)*长度 矩形:[width] [length] [height]体积= lwh shape of cup并dimensions以相同的方式工作。杯子也可以是圆形,三角形或矩形。 speed是几秒钟内倒空一杯水所需的时间。 输出量 清空游泳池所需的秒数。可以四舍五入到最接近的秒数。 笔记 输入中将没有单位。假定所有距离单位都相同(形状不会以英寸为单位的高度和以英尺为单位的宽度)。 将3.14用于pi。 输入将由字符串和浮点数组成。 永远不会下雨。永远不会添加水。 您的手非常稳固。每次您都将杯子完全塞满边缘,而且绝对不会溢出。 一旦接近尾声,将很难捞出一整杯水。您无需为此担心。您非常强壮,因此您可以将游泳池倾斜到其一侧(无需花费更多时间)。 每次进行计算时,都可以四舍五入到最接近的百分之一。您的最终答案将不一定是准确的。 测试用例 输入:triangle 10 12.25 3 circle …

5
确定旋转矩形的尺寸
此堆栈代码段在黑色背景上绘制了一个别名白色矩形,并为其尺寸,位置,角度和网格尺寸提供了参数: <style>html *{font-family:Consolas,monospace}input{width:24pt;text-align:right;padding:1px}canvas{border:1px solid gray}</style><p>grid w:<input id='gw' type='text' value='60'> grid h:<input id='gh' type='text' value='34'> w:<input id='w' type='text' value='40'> h:<input id='h' type='text' value='24'> x:<input id='x' type='text' value='0'> y:<input id='y' type='text' value='0'> θ:<input id='t' type='text' value='12'>° <button type='button' onclick='go()'>Go</button></p>Image<br><canvas id='c'>Canvas not supported</canvas><br>Text<br><textarea id='o' rows='36' cols='128'></textarea><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>function toCart(t,a,n,r){return{x:t-n/2,y:r/2-a}}function vtx(t,a,n){return{x:n.x+t*Math.cos(a),y:n.y+t*Math.sin(a)}}function sub(t,a){return{x:t.x-a.x,y:t.y-a.y}}function dot(t,a){return t.x*a.x+t.y*a.y}function inRect(t,a,n,r){var …

1
在正方形中找到对称
编写一个包含正整数列表的程序或函数。这些整数均表示2D平面上正方形的边长。每个正方形都可以移动到平面中的任何整数坐标,但不能旋转,也不能与其他正方形重叠。 对于每个正方形(不包括用于空白的空格)使用不同的可打印ASCII字符,您的程序/函数需要打印具有水平或垂直反射对称线的正方形的任何单个排列。如果不存在这样的安排,则不应该打印任何内容。 正方形是不同的字符,因此可以区分它们。只有所有正方形的并集形成的形状才需要对称。您可以假定该列表将包含不超过94个元素(因为有94个字符)。 例如,如果输入为[2, 1, 2, 2, 2],则可能的输出为: DD-- DD-- Z FFPP FFPP 此形状具有一条反射对称的水平线;它的上半部分和下半部分是镜像。还有其他一些可能性:(请注意,不需要触摸正方形,并且只要没有两个正方形由同一字符组成,就可以使用任何字符。) 55 55 %% %% @ HH HH (( (( G 11 33 11 33 22 44 22 44 对称线也可以是字符之间的边界,例如[2, 4]: !!!! !!!! ++ !!!! ++ !!!! 某些正方形无法对称排列,例如[1, 2, 3]: AAA BB C AAA BB (these can't …

7
使用L形的Tromino将2 ^ N x 2 ^ N网格平铺
当初次向学生讲解数学归纳的证明技术时,一个常见的示例是将2个N ×2 N的网格与L形的Tromino砖砌在一起的问题,从而将一个预定的网格空间留空。(N是一些非负整数。) 如果您还不知道,我将交给您查看证明。有很多讨论它的资源。 您的任务是编写一个程序,该程序使用N的值以及要保留为空的网格空间的坐标,并输出所生成的Tromino平铺网格的ASCII表示形式。 角色O将填充空白区域,并且我们的Tromino旋转4次将如下所示: | +- | -+ -+ | +- | (是的,它可以是含糊其+与去-和|某些安排,但没关系。) 您的程序必须在N = 0(对于1×1网格)下工作,至少N = 8(对于256×256网格)。将给出x和y值,它们是的坐标O: x是水平轴。x = 1是左侧网格边缘,x = 2 N是右侧网格边缘。 y是垂直轴。y = 1是顶部网格边缘,y = 2 N是底部网格边缘。 x和y都始终在[1,2 N ] 范围内。 因此,对于给定的N,x和y,您的程序必须输出2 N ×2 N的网格,该网格完全用L形的三角骨平铺,但x,y网格坐标为O。 例子 如果N = 0,则x和y必须都为1。 O 如果N = 1,x = 1,y …

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

4
绘制3D网-柏拉图式固体
这是难度更大的Drawing 3d nets-Archimedean实体的基本版本。 我对3d蚊帐有一个缺点,当将其剪裁和折叠后,可以用纸或卡片制作3d形状。任务很简单,编写最短的程序即可绘制5个柏拉图固体的网。输出应该是您选择的任何合理格式的图像文件(png,jpg等)。 在http://en.wikipedia.org/wiki/Platonic_solid中描述了所有五个形状。他们的蚊帐看起来像这样(摘自http://www.newscientist.com/gallery/unfolding-the-earth/2)。 输入: 1到5之间的整数。假设形状按其边数的顺序编号。因此,1将是四面体,5将是二十面体。 输出:包含该形状网的图像文件。只需包括内部线条的轮廓即可。无需用颜色填充 您可以使用自己喜欢的任何编程语言,也可以使用不是专门为这次比赛而制作的任何库。两者都应该在线免费提供(从两种意义上来说)。 我会在一周的时间内接受最少字符数的答案。 优胜者。只有一个参赛者,但是很棒。优胜者是……Raufio,因为我最喜欢的代码高尔夫球是什么。

9
绘制Peano曲线
介绍 在几何学中,Peano曲线是Giuseppe Peano在1890年发现的第一个空间填充曲线示例。Peano曲线是从单位间隔到单位平方的连续的连续函数,但不是内射的。Peano受到Georg Cantor的早期结果的启发,认为这两个集合具有相同的基数。由于此示例,一些作者使用短语“ Peano曲线”更笼统地指代任何空间填充曲线。 挑战 该程序采用一个整数输入n,并输出代表nPeano曲线第th次迭代的图形,该图形从该图像最左侧所示的侧面2开始: 输入值 n给出Peano曲线迭代次数的整数。可选,其他输入在“奖金”部分中描述。 输出量 nPeano曲线的第三次迭代的图形。工程图可以是ASCII艺术图,也可以是“真实”工程图,以最简单或最短的时间为准。 规则 输入和输出可以任何方便的格式给出(为您的语言/解决方案选择最合适的格式)。 无需处理负值或无效输入 完整的程序或功能都是可以接受的。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 奖金 由于这不应该是在公园散步(至少使用我能想到的大多数语言),因此可为以下各项奖励积分: -100字节,如果您的代码生成的Peano曲线构造的gif达到n。 -100字节,如果您的代码为任何矩形绘制了空间填充曲线(显然,Peano曲线仅适用于正方形)。您可以假设输入采用以下形式:n l wwhere n具有与之前相同的含义(迭代次数),但是where l和w成为绘制曲线的矩形的长度和宽度。如果为l == w,这将成为规则的Peano曲线。 负分数是允许的(但有可能...)。 编辑 请在的解决方案中包含程序的输出n == 3 (l == w == 1)。

3
代码高尔夫模拟高尔夫
给定一系列孔码,果岭尺寸,切角和最大距离,即可计算出高尔夫球得分。 假设条件 地球是平坦的 所有果岭都是圆形的 切片角度将在-45至45度之间,以度为单位 所有距离均以同一度量标准(码或米,无关紧要) 没有界限,障碍物或狗腿 任何洞的最高分数是8 所有镜头在与孔的角度加上切片角度所定义的方向上移动的最大距离或与孔的距离中的较小者。 距离以起点或终点之间的直线或欧几里得距离的形式测量。 所有孔上的所有镜头的最大距离和切片角度均相同 高尔夫球手总是在果岭上两次击球(或者恰好在果岭边缘)。 例 让我们从下面测试用例#5的漏洞#2看一下黑客。黑客可以将球打到320码,但始终会切成30度。如果我们不失一般性地假设发球区框在{0,0}而果岭在{497,0},那么他将击球到以下点,并在第七杆处到达果岭: {{0.,0.},{277.128,-160.},{547.543,-131.372},{569.457,7.67088},{502.872,37.2564},{479.159,7.92741},{490.646,-7.85868},{500.078,-4.22987}} 此时,由于需要两个推杆,他的分数将为9,因此根据假设,他的最终分数不得超过8。 在图形上,它将如下所示: 测试用例 所有测试用例均具有标准的18孔路线 Case#1 {MaxDistance->280,SliceAngle->10,HoleDistances->{181,368,161,416,158,526,377,427,509,148,405,443,510,494,396,388,483,172},GreenDiameters->{26,18,17,23,27,23,21,23,25,21,19,24,21,23,25,24,22,22}} Scores: {4,5,4,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4} Output: 85 Case#2 (same course as Test Case #1, shorter more accurate golfer) {MaxDistance->180,SliceAngle->5,HoleDistances->{181,368,161,416,158,526,377,427,509,148,405,443,510,494,396,388,483,172},GreenDiameters->{26,18,17,23,27,23,21,23,25,21,19,24,21,23,25,24,22,22}} Scores: {4,5,4,5,4,6,5,5,6,4,5,5,6,6,5,5,5,4} Output: 89 Case#3 (Same golfer as test case #1, shorter course) …

5
周长小于n的整数三角形
定义 “整数三角形”是具有整数坐标的三角形。例如,以下三角形是整数三角形: (0, 0), (0, 1), (1, 2) with perimeter 1 + sqrt(2) + sqrt(5) ≈ 4.650. 任务 这项挑战的目标是计算周长小于n的所有整数三角形(直至全等)。 输入输出 参数将以整数形式给出,并且输出应为周长严格小于参数的三角形数量。 例子 周长最小的整数三角形等于 (0, 0), (0, 1), (1, 0) which has perimeter 2 + sqrt(2) ≈ 3.414 接下来的最小是: (0, 0), (0, 1), (1, 2) with perimeter 1 + sqrt(2) + …

1
单位n维超立方体中两点的平均距离
理解单位n维超立方体的一种简单方法是考虑每个坐标分量都位于[0,1]中时可以得到的n维空间区域。因此,对于一维,它是从0到1的线段;对于二维,它是具有角(0,0)和(1,1)等的正方形。 编写一个程序或函数,给定n返回从单位n维超立方体中均匀随机选择的两点的平均欧几里得距离。您的答案必须在实际值的10 -6以内。如果答案对大n来说溢出了语言的本机浮点类型,那是可以的。 随机选择“大量”的点并计算平均值不能保证这种准确性。 例子: 1→0.3333333333 ... 2→0.5214054331 ... 3→0.6617071822 ... 4→0.7776656535 ... 5→0.8785309152 ... 6→0.9689420830 ... 7→1.0515838734 ... 8→1.1281653402 ... 从MathWorld获得的数据。 这是代码高尔夫球,最低字节数获胜。

4
交错开始
在其中赛车手绕弯的弯道至少转一圈的比赛中,每个赛车手的起始位置都是错开的,因此每个赛车手在赛道上行驶相同的距离(否则,最里面的车道上的赛车手将具有巨大的优势)。 给定椭圆轨道的长轴和短轴(或半长轴和半短轴,如果您愿意的话)的长度和轨道中的车道数,请输出距每个车道的最里面车道起点的距离应该错开。 技术指标 每个泳道是一个椭圆形,具有半长轴,比下一个最短的泳道长5个单位。为简单起见,假设通道的宽度为0。 最里面的通道始终从0开始,其他每个起点都是一个大于或等于前一个起点的正整数。 输入和输出可以采用任何方便且合理的格式。 输入将始终是整数。 您必须计算出轨道的周长,使其不超过实际值的0.01单位。 输出将四舍五入到最接近的整数(有底)。 终点线是最里面的赛车手的起点。比赛只有一圈。 轴的长度是使用轨道的最里面的车道测量的。 为最内通道的偏移量输出0是可选的。 测试用例 格式: a, b, n -> <list of offsets, excluding innermost lane> 20, 10, 5 -> 30, 61, 92, 124 5, 5, 2 -> 31 15, 40, 7 -> 29, 60, 91, 121, 152, 183 35, 40, 4 …

13
斐波那契产品
您可以将大于0的数字分解为正Fibonacci数字的唯一和。在这个问题中,我们通过重复减去最大可能的正斐波那契数来做到这一点。例如: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 现在,我将斐波那契乘积称为与上面相同的列表,但加法运算被乘积代替。例如,f(100) = 89 * 8 * 3 = 2136。 编写一个给定正整数n的程序或函数,该函数将返回该数字的斐波那契乘积。 测试用例: 1: 1 2: 2 3: 3 4: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

1
乐高齿轮火车
灵感来自Keith Randall 的Lego传动比挑战。 我也计划建造一个大型的乐高机器人,该机器人最终将能够在前所未有的竞争中摧毁其他机器人。*在构建机器人的过程中,我将使用大量齿轮系来连接机器人的不同部分。我想让您编写最短的程序,这将帮助我构建完成如此复杂的任务所需的复杂齿轮系。当然,我只会使用半径为1、2、3和5的任意乐高单位的齿轮。 齿轮系中的每个齿轮在2D网格上都有特定的整数坐标。第一个齿轮位于(0,0),最后一个齿轮位于非负坐标。第一个和最后一个齿轮的位置和尺寸将作为输入提供,您的程序必须告诉哪些齿轮去哪里填补了空白。 此外,您的程序必须在齿轮系中使用尽可能少的齿轮数。更少的齿轮/火车=更多的火车** =更大更好的销毁机器人。 输入将包含一行: X,Y,B,A X和Y是最终齿轮的坐标。一档始终位于(0,0)。B和A分别是最终齿轮和初始齿轮的半径。为了增加一些难度,您需要确保输出齿轮以正确的方向旋转。如果A和B具有相同的符号,则输出齿轮需要沿相同方向旋转,并且必须使用奇数个齿轮。如果它们的符号相反,则需要使用偶数个齿轮。 输出应为每个附加齿轮的X位置,Y位置和半径的列表,每行一个齿轮。如果有多个最小齿轮解决方案,则仅打印您选择的一种。输出中的齿轮顺序无关紧要。 示例(可能有更多等效的解决方案): in 4,0,1,1 out 2,0,1 in 7,7,-2,-2 out 4,3,3 OR 0,7,5 OR the above reflected over y=x line in 7,8,-1,2 out 7,0,5 7,6,1 OR 7,0,5 1,8,5 in 7,7,2,-2 out 4,-3,3 7,1,2 12,1,3 12,7,3 OR any permutation of the above, …

4
获取吸气剂
任务 我想每个人都喜欢自动代码生成并节省工作时间。您白天必须创建许多类和成员,而又不想getters手动创建所有这些类和成员。 任务是编写一个程序或函数,该程序或函数getters将为您自动为所有类成员生成。 输入 在我们的语言中,对象非常简单。类和成员的名称必须以字符开头,[a-zA-Z]并且只能包含字符[a-zA-Z0-9]。这是一个例子: class Stack { public overflow; protected trace; private errorReport; } 输出 这是基于给定示例的有效输出: class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } 吸气剂 getter方法的要求是: …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

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.