首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从n中求出两个除数之间的绝对最小差

从n中求出两个除数之间的绝对最小差
EN

Code Golf用户
提问于 2021-12-27 01:59:28
回答 7查看 173关注 0票数 3

输入:

整数n

输出:

字符串A * B

示例

12

可能有2个可除数:12 * 16 * 24 * 3

代码语言:javascript
运行
复制
12-1 = 11

6-2 = 4

4-3 = 1

4和3的绝对值最小差为1。

因此,产出:

4 * 3

数字的顺序不重要

这个挑战的想法来自于https://www.codingame.com中代码冲突中的一个难题。

这是密码-高尔夫,所以最短的答案以字节为单位获胜!

EN

回答 7

Code Golf用户

回答已采纳

发布于 2021-12-27 02:10:03

维沙尔,11字节

代码语言:javascript
运行
复制
KḂZµƒε;h×YṄ

在网上试试!

-2多亏了莱克沙

代码语言:javascript
运行
复制
K           # Factors
 ḂZ         # Zipped with reverse
   µ  ;h    # Minimum by
    ƒε      # Reduced by abs. diff.
        ×Y  # Interleave with '*'
          Ṅ # Join by spaces
票数 2
EN

Code Golf用户

发布于 2021-12-27 02:23:17

Python 2,74字节

代码语言:javascript
运行
复制
def f(x):q=[i for i in range(1,1+x)if x%i<1];q=q[len(q)/2];print q,"*",x/q

在网上试试!

票数 3
EN

Code Golf用户

发布于 2021-12-27 02:17:30

Python,104个字节

代码语言:javascript
运行
复制
lambda n:'%d * %d'%min([(x,n/x)for x in[i for i in range(1,n)if(n/i)%1==0]],key=lambda x:abs(x[0]-x[1]))

在网上试试!

票数 1
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/240172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档