首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用每一种可能的方式分割一个数字

用每一种可能的方式分割一个数字
EN

Code Golf用户
提问于 2020-08-29 13:01:50
回答 12查看 2.8K关注 0票数 26

这里的任务非常简单:

给定一个不带前导零的正整数n作为输入,以所有可能的方式拆分它。

示例

输入->输出

代码语言:javascript
复制
111  -> {{111}, {1, 11}, {11, 1}, {1, 1, 1}}

123  -> {{123}, {12, 3}, {1, 23}, {1, 2, 3}}  
  
8451 -> {{8451}, {845, 1}, {8, 451}, {84, 51}, {84, 5, 1}, {8, 45, 1}, {8, 4, 51}, {8, 4, 5, 1}}  

10002-> {{10002},{1,2},{10,2},{100,2},{1000,2},{1,0,2},{10,0,2},{100,0,2},{1,0,0,2},{10,0,0,2},{1,0,0,0,2}}

42690-> {{42690}, {4269, 0}, {4, 2690}, {426, 90}, {42, 690}, {426, 9, 0}, {4, 269, 0}, {4, 2, 690}, {42, 69, 0},  {42, 6, 90}, {4, 26, 90}, {42, 6, 9, 0}, {4, 26, 9, 0}, {4, 2, 69, 0}, {4, 2, 6, 90}, {4, 2, 6, 9,  0}}      

规则

前导零,如果发生,应该移除。

最后列表中的重复分区也应该删除。

分区出现在最终列表中的顺序与此无关。

我是code-golf。最短的答案,以字节为单位,获胜!

沙盒

EN

回答 12

Code Golf用户

发布于 2020-08-29 14:02:14

布氏对数,8字节

代码语言:javascript
复制
ṫ{~cịᵐ}ᵘ

转换为字符串,并获取映射到整数ịᵐ的所有唯一{…}ᵘ反向级联~c (以删除前导零)。

在网上试试!

票数 9
EN

Code Golf用户

发布于 2020-08-29 13:17:08

05AB1E,4字节

代码语言:javascript
复制
.œïÙ

在网上试试!

解释

代码语言:javascript
复制
.œ      - Partitions of implicit input 
  ï     - Converted to integers (will remove leading 0s) 
   Ù    - Uniquified
        - Output implicitly
票数 8
EN

Code Golf用户

发布于 2020-08-29 16:13:57

Python 3,87字节

代码语言:javascript
复制
f=lambda s:{(int(s),)}|{a+b for i in range(1,len(s))for a in f(s[:i])for b in f(s[i:])}

在网上试试!

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

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

复制
相关文章

相似问题

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