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

文盲素数
EN

Code Golf用户
提问于 2016-05-27 08:58:45
回答 10查看 1.7K关注 0票数 5

您的挑战是编写一个程序(完整的程序,而不是函数),它将接受一个整数并输出所有素数,直到(包括)给定的整数。输出是包含所有整数素数的任何可读列表(数组、字符串、每行一个质数,不管你想要什么),并且必须运行到stdout或等效的。

简单吗?这是一个转折:

您不能在程序中使用文字。其中包括:

  • 文字数字(0到9)
  • 文字字符串(以引号表示)

您不能使用内置的质数检查。

编辑:质数检查是一个内置的函数,

  • 如果一个数字是素数,则返回
  • 返回素数
  • 返回素数列表。

您可以编写执行上述操作的自己的函数。

允许素因式分解函数

因为这是代码-高尔夫,以字节为单位的最短答案将获胜。

EN

回答 10

Code Golf用户

发布于 2016-05-30 01:17:35

05AB1E,2字节

代码语言:javascript
复制
!f

允许素因式分解使得这有点太容易了..。

在网上试试!

是如何工作的

代码语言:javascript
复制
!   Compute the factorial of the input.
 f  Find its prime factors.
票数 6
EN

Code Golf用户

发布于 2016-05-27 09:37:38

JavaScript (ES6),98字节

代码语言:javascript
复制
alert([...Array(-~(n=prompt())).keys()].filter(n=>n>!!n&&[...Array(n)].ev‌​ery((_,i)=>i==!!i||n%i)))
代码语言:javascript
复制
f=n=>[...Array(-~n).keys()].filter(n=>n>!!n&&[...Array(n)].every((_,i)=>i==!!i||n%i))
代码语言:javascript
复制
<input id=i oninput=o.value=f(i.value)><input id=o>
票数 3
EN

Code Golf用户

发布于 2016-05-27 09:57:34

马蒂尔,10字节

代码语言:javascript
复制
:t!\~sqq~f

在网上试试!

使用H (生成预定义的文字2)可以将其缩短为9个字节。但这感觉就像作弊:

代码语言:javascript
复制
:t!\~sH=f

在网上试试!

解释

代码语言:javascript
复制
:     % Implicitly take input N. Generate row vector [1 2 ... N]
t!    % Duplicate and transform into column vector
\     % Modulo operation, element-wise with broadcast
~     % Logical negate. Transform zeros to 1, non-zeros to 0
s     % Sum of each column
qq    % Decrement by 1, twice. Zeros correspond to primes
~f    % Indices of zeros. Implicitly display
票数 2
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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