首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分解为素数

分解为素数
EN

Code Golf用户
提问于 2017-12-19 00:22:27
回答 6查看 837关注 0票数 14

给定整数n,返回n可以写成素数列表的方式数。例如,可以将2323编写为(2,3,23)(23,23)(2,3,2,3)(23,2,3),以便输出4。如果不能用这种方式编写,则应该输出0

质数(如01900000037 )是解决此问题的有效素数。

测试用例:

代码语言:javascript
复制
5 -> 1
55 -> 1 
3593 -> 4 (359 and 3, or 3 and 593, or 3 and 59 and 3, or 3593)
3079 -> 2 (3 and 079, or 3079)
119 -> 0 
5730000037 -> 7 (5,7,3,000003,7, 5,7,3,0000037, 5,73,000003,7, 5,73,0000037, 5,73000003,7, 5,7,30000037, 5730000037)
0-> undefined (you do not have to handle this case)

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

编辑:现在我知道为什么下次我要使用沙箱了。

EN

回答 6

Code Golf用户

发布于 2017-12-19 00:32:01

果冻,8字节

代码语言:javascript
复制
ŒṖḌÆPẠ€S

在网上试试!

-1字节,这要归功于漏Nun

-感谢丹尼斯的1字节

解释

代码语言:javascript
复制
ŒṖḌÆPẠ€S  Main Link
ŒṖ        List Partitions (automatically converts number to decimal digits)
  Ḍ       Convert back to integers (auto-vectorization)
   ÆP     Are they primes? (auto-vectorization)
     Ạ€   For each, are they all truthy (were the numbers all primes?); 1/0 for truthy/falsy
       S  Sum; gets number of truthy elements
票数 6
EN

Code Golf用户

发布于 2017-12-19 20:38:15

布氏对数,10字节

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

在网上试试!

首先,将输入转换为字符串。{…}ᶜ计算的可能输出数。

{…}内部,的输出被输入到~c。该谓词的输出满足以下条件:当连接时,它等于输入。这被输入到ịᵐ中,它指定输出是它的输入,每个字符串都转换成一个整数。ṗᵐ指定其输入由素数组成。

票数 5
EN

Code Golf用户

发布于 2017-12-19 00:27:26

皮斯,13字节

代码语言:javascript
复制
lf.AmP_sdT./`

测试套件。

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

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

复制
相关文章

相似问题

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