Questions tagged «geometry»

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

13
我的尺寸是多少?
任务:给定一个三角形的面积,找到一个具有该面积的Heronian三角形。允许使用具有指定区域的任何Heronian三角形。 Heronian三角形是具有整数边和整数面积的三角形。根据Heron的公式,边长为三角形的三角形a,b,c具有面积 sqrt(s*(s-a)*(s-b)*(s-c)) 哪里s=(a+b+c)/2是三角形周长的一半。这也可以写成 sqrt((a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c)) / 4 如果不存在这样的三角形,则输出具有一致的假值。 输入:代表三角形面积的单个正整数。 输出:这样的三角形或错误值的任意三个边长。 例子: Input -> Output 6 -> 3 4 5 24 -> 4 15 13 114 -> 37 20 19 7 -> error 适用标准漏洞 这是代码高尔夫,最短答案以字节为单位。

7
数平方
挑战 折纸(折纸)是一种创造性的艺术形式。据我所知,折纸大师更喜欢方形纸。让我们从头开始-将矩形纸转换为正方形纸。 因此,纸张分为正方形。我们逐步删除与当前形状共有一个较短边的最大正方形(请参见下图)。并且,如果一步之后的剩余部分小于或等于0.001 * (area of the original paper),则无法进一步分割纸张。最后可能什么也没剩下。 您的任务是计算在此过程中制作了多少个正方形。使纸张无法分割的最后一步的平方计入输出。 示例(1.350宽度/高度的纸张),输出为10: 输入输出 输入:矩形纸的宽度/高度比,从1.002到的十进制数(或不带点的整数),1.999最小步长为0.001。您也可以使用任何其他合理的格式来描述比率。只需在您的答案中提及它即可。 输出:平方数,一个整数。 示例I / O 映射格式用于保持页面整洁,而您的代码既不需要支持列表输入,也不需要成为映射功能。 1.002 => 251 1.003 => 223 1.004 => 189 1.005 => 161 1.006 => 140 1.007 => 124 1.008 => 111 1.009 => 100 所有答案列表 感谢@LuisMendo,这是答案的图表。 备注 这是一个代码高尔夫球,因此最短的代码胜出 注意标准漏洞 您可以自由决定如何处理输入和输出,但它们应遵循标准限制。 顺便说说... 如果您对挑战尚不清楚,请发表评论 …

4
棋盘格!
介绍 来自维基百科: 平面的细分是指使用一个或多个几何形状(称为图块)的平铺,没有重叠且没有间隙。 下面显示了一个众所周知的细分: 菱形的平铺方式不会导致重叠或间隙,并模拟了立方的互换列。 任务 您的任务是编写一个与上面的图像相同的镶嵌菱形的程序。程序的输入将为镶嵌的尺寸:height x width,其中width是列数,height是行数。 单个立方体1 x 1(菱形的3个图块)的表示方式如下: _____ /\ \ / \ \ / \ _____\ \ / / \ / / \/_____ / 因此,如果输入/尺寸为3 x 2,则应为输出: _____ /\ \ / \ \ / \ _____\ _____ \ / /\ \ \ / / \ …

15
g o l f a t 2
有时将笛卡尔坐标转换(x,y)为极坐标确实很费力(r,phi)。虽然你可以计算r = sqrt(x^2+y^2)很容易,你经常计算时的角度需要的情况下有些区别phi,因为arcsin,arccos以及arctan和所有其他三角函数有一个共同域,每个只有跨越半个圆。 在许多语言中,都有用于将直角坐标转换为极坐标的内置atan2函数,或者至少具有给定的(x,y)计算角度的函数phi。 任务 你的任务是写一个程序/功能采用两个(浮点,但不能同时为零)笛卡尔坐标(x,y),并输出对应的极角phi,其中phi必须处于度,弧度或等级(与等级余平均gradians其是1 /整圆的400),以您较方便的为准。 角度是在正方向上测量的,对于,我们有零角度(1,0)。 细节 您不得使用内置插件是计算角度phi给出两个坐标,其中包括atan2,rect2polar,argOfComplexNumber和类似的功能。但是,您可以使用通常的三角函数及其反函数,它们只需一个参数。任何单位符号都是可选的。 半径r必须为非负数,并且phi必须在范围内[-360°, 360°](无论输出270°还是,都无关紧要-90°)。 例子 Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) 308.66°
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

2
城市:景点
我位于无限二维城市的位置(0,0),该城市被完美地分为以每个格点为中心的块,其中一些包含建筑物。某个点(x,y)上的建筑物占据了整个正方形,并且在(x-.5,y-.5)和 (x + .5,y + .5)处具有相对的角,包括边界。如果从(0,0)到建筑物中与其他建筑物不相交的点之间存在某些线段,则可以看到建筑物。 例如,我(@)可以看到*以下城市的6座建筑物(): * * * *@ x** * y 我看不到x在(-1,-1)处标记有的建筑物,因为它被相邻的两个障碍物遮挡了;或所述一个标有y在(3,-2) ,因为它是由边缘阻碍(1,-1)的建筑物。 输入值 多行字符串或行列表,可以选择用空格填充到矩形中。它仅包含: 一个@(我的位置) 空间 *,代表建筑物。 总会有至少一栋建筑物,因此至少有一栋可见的建筑物。 输出量 可见建筑物的数量。 测试用例 *@ 1 * ******* @ * 7 ***** **@** ***** 4 * ** @ ** 2 * * * * @ 4 @ * *** …

12
计算物体的体积
您可以根据一组给定的尺寸确定对象的体积: 球体的体积可以使用一个数字确定,半径(r) 圆柱体的体积可以使用两个数字确定,即半径(r)和高度(h) 可以使用三个数字(长(l),宽(w)和高(h))确定盒子的体积 可以使用四个数字(边长(a, b, c)和高度(h))确定不规则三角形棱锥的体积。 面临的挑战是在以下输入之一的情况下确定对象的体积: 单个数字(r)或(r, 0, 0, 0)=>V = 4/3*pi*r^3 两个数字(r, h)或(r, h, 0, 0)=>V = pi*r^2*h 三个数字(l, w, h)或(l, w, h, 0)=>V = l*w*h 四个数字(a, b, c, h)=> V = (1/3)*A*h,A由Heron公式给出:A = 1/4*sqrt((a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c)) 规则和说明: 输入可以是整数和/或小数 您可以假设所有输入尺寸均为正 如果Pi是硬编码的,则必须精确到:3.14159。 输出必须至少包含6个有效数字,但可以用较少的数字准确表示的数字除外。您可以将输出3/4为0.75,但4/3必须为1.33333(可以输入更多数字) 如何舍入不正确的值是可选的 无效输入的行为未定义 I / O的标准规则。输入可以是列表或单独的参数 这是代码高尔夫,所以最短的解决方案以字节为单位。 测试用例: …

4
一周中压缩的天数
输入星期几列表,则输出列表中最短的排序表示形式。 输入的格式是由一个或多个双字符子串的字符串Su(星期日), Mo(星期一), Tu(等), ,We,Th, Fr和Sa。输入不一定必须以排序的顺序给出。 要将输入转换为输出格式, 从星期天开始按星期几对输入进行排序(例如ThMoSaSuFrTuWe-> SuMoTuWeThFrSa)。 如果不引起歧义,请将缩写词减少到一个字母。例如,之所以SuMoTuWe成为,SMTW是因为第一个S不可能在星期六,因为这样会使输出未排序(与T相同)。但是,ThFrSa应该成为ThFS,因为星期二和星期四都在星期五之前,并将其减小以TFS产生歧义。 如果输出为now MTWTF,则D改为输出(代表“ 工作日 s”)。同样,SS应该成为E一周结束。最后, SMTWTFS应该成为A对所有天。 输入和输出都必须是单个字符串。 由于这是code-golf,因此以字节为单位的最短代码为准。 测试用例: In Out | In Out -----------------------|-------------------- SuTu STu | SuTuWe STW SuTuSa STuS | SuWeTh SWT TuThSa TTS | TuThSu STT Su Su | Sa Sa WeTh WT | FrTh ThF WeTu …

4
画雪花
乔住在巴哈马。现在是冬天。他的孩子对没有雪感到失望。乔需要为他的孩子们造雪。幸运的是,他有一台3D打印机。他计划用它制作雪花。不幸的是,他不知道雪花会是什么样。实际上,他从未见过雪花!让我们通过创建一个为他自动生成雪花的2d图像的程序来帮助他。 输入值 图片的直径(以像素为单位),实际上是雪花的图片的百分比。 输出量 雪花的图像具有所需的直径。它可以保存到文件或显示给用户。 技术指标 创建一个具有30度角的楔形。用楔形点的初始种子创建布朗树。将楔形围绕图像中心反射12次,以生成其余图像。雪花的颜色为白色。背景颜色为黑色。 计分 由于存在生成布朗树的方法不同,因此得分为10 *投票数-高尔夫得分。 高尔夫球成绩定义为程序中具有以下奖励的字节数: -20%可以任意指定雪花的对称性。 -50%可以指定雪花的形状。(通过能够指定楔形边的长度之比。) 最高分获胜。 这是一张图片,楔形的比例约为2: 计分板: 马丁·巴特纳:10 * 14-409 = -269 妮米(Nimi):10 * 1-733 * .5 = -356.5 优化器:10 * 5-648 = -598 获胜者是得分为-269的马丁!

4
三角战舰(计算几何问题)
你是一艘战舰的船长。工程部门今年一直在偷工减料,因此您所乘坐的船采用简单三角形的形状。 您走到甲板上享受海风……虽然时间不长。敌人向您开火!—但是会击中镜头吗? 输入值 您可以为此挑战编写函数或完整程序。 您的程序将使用11个整数,其中十个是成对的: 前三对整数(x 1,y 1),(x 2,y 2),(x 3,y 3)将指定您的飞船的顶点。形成的三角形将具有非零面积。 下一对整数(e x,e y)指定敌人的大炮的位置。敌方加农炮永远不会躺在您的飞船上或飞船的边界内。* 之后的对(a x,a y)指定了敌人的瞄准目标。这将不同于(e x,e y)。 最后的正整数R指定敌人的射程 *如果您甚至没有注意到发生的事情,您将是一个可怕的队长! 输出量 如果将要击中战列舰,则必须打印/返回真实值(例如,true,1),否则必须打印/返回虚假值(例如,false,0)。 什么是热门? 敌人的射击是从(e x,e y)开始沿(a x,a y)的长度为R的直线段。如果此线段与三角形战舰内部的任何部分重叠,则视为命中。否则,它不会受到打击。 沿三角形边界或仅达到三角形边界的镜头不算是命中。 例子 0 0 0 1 1 0 1 1 0 0 2 击中:敌人已从您的船中央射中了! 2 0 0 2 4 4 …

7
堆叠式数字楼梯
给定正整数和,如下所述输出列和行文本。^ h w ^ ^ hwwwHHhwwwHHh 第一行以11 0秒开始,第二行以10 1秒开始,第三行以9 2秒开始,依此类推,在第十行以2 9秒开始。在前十行中的每行上,在连续运行连续数字之后,第二个最低位出现两次,第二个最低位出现两次之后,此模式将永远重复。如果0出现s,则其后的数字始终为9s。 第十行下方的行与紧接在其上方的行相同,但向右移一行。如果新数字不位于其自身的另一个实例旁边,则它与最左上的数字相同。否则,它是下一个最高的数字(从9循环回0)。 前元素如下:11 × 1011×1011\times10 00000000000 11111111110 22222222211 33333333221 44444443322 55555544332 66666554433 77776655443 88877665544 99887766554 这是带有彩色文本的图像,以使图案更清晰。 如果您需要减少列数/行数,则只需裁剪以上文本即可。 如果您需要产生更多的列/行,则应扩展现有的楼梯。如果更多的列/行增加了连续数字的新阶梯,则应从整数中循环选择数字。因此对于输入,输出应为(15 ,13 )(15,13)(15,13) 000000000009988 111111111100998 222222222110099 333333332211009 444444433221100 555555443322110 666665544332211 777766554433221 888776655443322 998877665544332 099887766554433 009988776655443 100998877665544 这是带有颜色的文本图像: 规则 输出可以通过任何方便的方法给出。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果愿意,可以返回行列表。 您可以根据需要返回2D数字数组或数字列表。 不允许出现标准漏洞。 …

25
一个简单的模式
输入: 您选择的输入格式中的两位数字(我们称它们为m和n)和两个字符(我们称其为a和b)。 输出: 对于演练,请假装m=2, n=5, a='a', b='b'。 您的输出将是根据四个输入构建的字符串。让我们result用value 调用字符串""。首先,连击a到result m时间,所以串连a到result 2倍。result现在等于aa。其次,连击b到result m时间,所以串连b到result 2倍。result现在等于aabb。最后,如果结果已经比更长n,请截断result它,使其具有length n。否则,继续交替使用m的长度运行a,并b直到result有长度n。最终result是aabba,它有长度5。 测试用例: Input: m = 2, n = 4, a = A, b = B Output: AABB Input: m = 3, n = 8, a = A, b = B Output: AAABBBAA Input: m = 4, n …
17 code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

1
展平立方体
您是否曾经看过3D形状,并认为我们有2个许多维度。因此,让我们将3D变成1D!(看看我在那里做了什么?) 任务 给定多维数据集的2D表示形式(下面的布局),根据指针将其展平为单个字符串。 多维数据集 这是立方体的布局,其中无操作(,)和指针位于角(<>v^/)。导航指针(NP)在显示的位置启动程序。 | NP begins here, moving right. V >,,,,,,,,,,,,,,,,,,v , ,, , , , , , , , , , , , , , , , , , , , , , /,,,,,,,,,,,,,,,,,,/ / , , , , , , , , , , , , …

8
有多少个孔?
挑战 给定形状的图形输入,确定其中有多少个孔。 不重复 该问题被标记为Count Islands可能重复。我认为这一挑战与Count Island挑战不同,因为在这一挑战中,您必须弄清楚如何消除接触边界的障碍物。 输入项 输入将以2D输入形式给出,即多行字符串,字符串数组或字符数组数组。这代表形状。保证形状只有一件,通过边缘连接。请指定您希望如何输入。 输出量 输出是一个单个整数,说明形状中有多少个孔。尾随换行符是允许的,但不允许其他前导或尾随空格。换句话说,输出必须匹配正则表达式^\d+\n?$。 什么是孔? 这些是单孔: #### # # # # #### #### # # # ## ### ##### # # # # # ##### 这些不是漏洞: ######## ######## # #### # #### # ###### # ######## ### # ### ########## # # ######## # …

6
一cube文字݀
上次您制作了一个正方形的文本,但是现在,您可以制作一个立方体的文本了吗? 挑战 给定一个字符串,以多维数据集的形式输出该字符串。 您可以假定该字符串将始终具有2个字符或更多,并且仅具有可打印的ascii字符。 如何制作文字方块 测试用例 Input: Test Output: Test e ss s e e tseT T s e e e ss Test Input: Hello, world! Output: Hello, world! e dd l l l l r r o o o , w w w , , o o o r …

1
Symme-尝试此三角试用
通过添加一些空格和换行符(并使其保持相同的阅读顺序),可以将长度为正三角数(1、3、6、10、15 ...)的字符串排列为“等边文字三角形”。 例如,长度为10的字符串ABCDEFGHIJ变为: A B C D E F G H I J 编写一个包含这样的字符串的程序或函数,只包含字符0和1。(您可以假定输入有效。) 对于所得的“等边文字三角形”,输出(打印或返回)表示对称类型的四个数字之一: 2如果三角形具有双边对称性,则输出。也就是说,它从任意一个角到另一侧的中点都有一条对称线。 例子: 0 1 1 1 0 1 0 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1 3如果三角形具有旋转对称性,则输出。也就是说,它可以旋转120°而没有视觉变化。 例子: 0 1 0 0 1 1 0 1 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.