您的挑战是编写一个程序(完整的程序,而不是函数),它将接受一个整数并输出所有素数,直到(包括)给定的整数。输出是包含所有整数素数的任何可读列表(数组、字符串、每行一个质数,不管你想要什么),并且必须运行到stdout或等效的。
简单吗?这是一个转折:
您不能在程序中使用文字。其中包括:
您不能使用内置的质数检查。
编辑:质数检查是一个内置的函数,
您可以编写执行上述操作的自己的函数。
允许素因式分解函数
因为这是代码-高尔夫,以字节为单位的最短答案将获胜。
发布于 2016-05-30 01:17:35
!f允许素因式分解使得这有点太容易了..。
在网上试试!
! Compute the factorial of the input.
f Find its prime factors.发布于 2016-05-27 09:37:38
alert([...Array(-~(n=prompt())).keys()].filter(n=>n>!!n&&[...Array(n)].every((_,i)=>i==!!i||n%i)))f=n=>[...Array(-~n).keys()].filter(n=>n>!!n&&[...Array(n)].every((_,i)=>i==!!i||n%i))<input id=i oninput=o.value=f(i.value)><input id=o>发布于 2016-05-27 09:57:34
:t!\~sqq~f在网上试试!
使用H (生成预定义的文字2)可以将其缩短为9个字节。但这感觉就像作弊:
:t!\~sH=f在网上试试!
: % 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 displayhttps://codegolf.stackexchange.com/questions/80771
复制相似问题