8
可视化欧几里得算法
欧几里得算法是用于计算两个正整数的最大公约数(GCD)的广为人知的算法。 算法 为解决这一挑战,算法描述如下: 将两个输入显示为某个字符的相邻行, 例如的输入3,4可以由相邻行000和0000 将length(short_line)较长行中的第一个字符转换为另一个字符,- 现在说看起来像000和---0 删除length(short_line)较长行中的第一个字符。 现在000,0 重复步骤2和3,直到两个具有相等的长度,使用较短和较长的线在每次迭代之后,例如 000,0 -00,0 00,0 -0,0 0,0 您可以选择是在此处停止还是继续迭代,然后将其中一行转换为空行。 这些步骤中的每个步骤之间应间隔0.3秒至1.5秒。 挑战 编写一个程序,给定两个自然数作为输入,它会创建一个输出,该输出看起来与上述算法的输出完全相同。您可以使用其他非空白打印的ASCII字符比0和-,但要一致,仅使用两个字符。如果输出(包括时序)与上述算法产生的输出完全相同,您也可以使用其他算法。 例子 这是input的示例24,35,它们是互质数,因此它们的GCD为1。 这是带有16,42GCD 2的input的示例。 规则 这是一个代码高尔夫球,因此最短字节获胜 适用标准漏洞 您可以假设输入为正十进制整数 除非您使用sed,Retina,///等,否则您可以使用一元 澄清说明 代表数字的线需要保持其原始顺序,即,在所有后续帧中,第一个显示的“框架”的第一和第二行分别必须是第一和第二行。 算法结束后,不应再出现其他可见实体。但是,这也意味着如果确保最后一个“帧”显示的时间至少与消隐之前所有其他帧的显示时间相同,则可以将行消隐。