제곱 자리 합계로 정수를 반환


31

소개 및 크레딧

우리는 숫자가 11 또는 3으로 나눌 수 있는지 테스트하는 멋진 규칙을 알고 좋아합니다.이 숫자는 숫자의 숫자에 대한 영리한 합계입니다. 이제이 문제는 숫자의 합계를 계산 한 다음 결과가 완벽한 정수 제곱인지 여부를 확인하여 새로운 수준으로이 작업을 수행합니다. 어떤 작업도 일반적으로 매우 짧게 수행 할 수 없습니다. 이 속성은 숫자를 볼 때보기가 매우 어렵 기 때문에 전체 숫자 목록에 대해이 작업을 수행하여 인간의 작업을 줄일 수 있기를 원합니다. 그래서 이것은 지금 당신의 도전입니다!

이것은 대학 기능 프로그래밍 과정의 과제였습니다. 이 과제는 이제 닫히고 수업에서 논의되었으며 교수님이 여기에 게시 할 수있는 권한이 있습니다 (명백하게 물었습니다).

사양

입력

입력은 표준 I / O 형식의 음이 아닌 정수 목록입니다.
언어에 따라 목록 형식을 선택할 수 있습니다

산출

출력은 표준 I / O 형식의 정수 목록입니다.

무엇을해야합니까?

입력 목록에서 자릿수 제곱 이 아닌 정수의 모든 정수를 필터링하십시오 .
요소의 순서는 변경되지 않을 수 있습니다. 예를 들어 반환 [1,5,9]할 수 없는 경우[9,1]

잠재적 코너 케이스

0 음이 아닌 정수이므로 유효한 입력이며 0도 유효한 정수 루트입니다. 예를 들어 0은 정수 제곱으로 계산됩니다.
빈 목록도 유효한 입력 및 출력입니다.

누가 이겼어?

이것은 코드 골프이므로 바이트 단위의 최단 답변이 이깁니다!
물론 표준 규칙이 적용됩니다.

테스트 사례

[1,4,9,16,25,1111] -> [1,4,9,1111]
[1431,2,0,22,999999999] -> [1431,0,22,999999999]
[22228,4,113125,22345] -> [22228,4,22345]
[] -> []
[421337,99,123456789,1133557799] -> []

단계별 예

Example input: [1337,4444]
Handling first number:
Sum of the digits of 1337: 1+3+3+7=14
14 is not an integer square, thus will be dropped!
Handling second number:
Sum of the digits of 4444: 4+4+4+4=16
16 is an integer square because 4*4=16, can get into the output list!
Example output: [4444]

11
좋은 첫 도전과 사이트에 오신 것을 환영합니다!
DJMcMayhem

향후 과제에 대해서는 샌드 박스를 참고 하십시오 . 메인 사이트에 챌린지하기 전에 문제를 제기하는 장소이므로 검토를 받고 내용을 쿼리하여 메인에서 더 잘 수신 할 수 있습니다. 그러나 이것은 나쁜 질문이 아닙니다 (실제로는 그것을 좋아합니다)
Blue

@ muddyfish, 나는 이것에 대해 읽었고 거기에 게시하는 것을 고려했지만 그것을하지 않기로 결정했습니다. 왜냐하면 내가 놓칠 수있는 것이 아무것도 없다고 확신했기 때문에 :) 나는 거기에 게시 할 그리워요.
SEJPM

12
샌드 박스를 피하는 것이 완전히 좋지만, 거기에 게시했다면 개별 정수 테스트에만 도전하는 것이 좋습니다. 흥미로운 작업은 테스트이며, 해당 작업을 필터로 감싸는 것은 특별히 흥미롭지 않습니다. 배열로 유형이없는 난해한 언어에서는 도전을 훨씬 더 어렵게 만드는 것만으로도 충분합니다. 약간 거칠게 들릴지 모르지만 이것은 여전히 ​​훌륭한 첫 번째 게시물입니다. 아무리 확실하게 아무거나 놓치지 않아도 무언가를 놓 쳤기 때문에 샌드 박스가 있다고 말하는 것입니다.
FryAmTheEggman 2016 년

1
@FryAmTheEggman Mathematica에 대해이 기능을 나열 가능하게 만드는 것은 사소한 방식으로 사물을 복잡하게 만든다고해서 정확하게 지루하지는 않습니다.
LLlAMnYP

답변:



5

Mathematica, 39 36 바이트

익명의 기능 :

Select[AtomQ@√Tr@IntegerDigits@#&]

LLlAMnYP가 바이트를 저장했습니다. 고맙습니다!

Martin Ender (은)는로 교체 IntegerQ하여 3을 추가로 저장 했습니다 AtomQ. 영리한! (결과는 정확하므로 Sqrt[5]인수가 제곱이 아닌 경우 와 같이 복합 표현식을 리턴합니다 .)


...Digits@#&대신 저장 될 바이트...Digits[#]&
LLlAMnYP


4

Brachylog v2, 8 바이트

{ẹ+√ℤ&}ˢ

온라인으로 사용해보십시오!

설명

{ẹ+√ℤ&}ˢ
{     }ˢ  Map the following operation over {the input}, discarding elements that error:
 ẹ         Split into a list of digits
  +        Sum that list
   √       Take its square root
    ℤ      Assert that the result is an integer
     &     Return to the original value

&수단은 상기 소자의 출력이 입력리스트와 동일한 것으로했지만이 블록의 입력은 정사각 수없는 경우 우리가 삭제 정사각형이 아닌 숫자 합계와 요소 입력리스트를 얻을 수 있도록, 에러 출력한다.

처음에는 여기에 부동 소수점 부정확성 문제가있을 수 있습니다 (반올림으로 인해 일부 매우 큰 비 제곱 정수에는 정수 제곱근이 있음). 그러나 Brachylog는 bignum 산술을 지원하며 실제로이 동작은 구현에 영향을 미칩니다 . 완벽한 제곱 인 숫자는 제곱근을 정수로보고하지만 완전한 제곱은 아닙니다 (그러나 제곱근은 정수) 제곱근은 정수 값을 가진 부동 소수점으로보고됩니다. 편리하게 는 이전 종류의 반환 값만 허용하므로 후자에 대한 어설 션 오류가 발생합니다.


3

Pyth, 10 바이트

fsI@sjT;2Q

테스트 스위트.

설명

fsI@sjT;2Q

f        Q  Filter for the following in Q(input):
     jT;        convert to base 10
    s           sum
   @    2       square-root
 sI             is integer (is invariant under flooring)

3

CJam, 14 바이트

1 바이트를 저장해 준 @FryAmTheEggman에게 감사합니다!

{{Ab:+mq_i=},}

온라인으로 사용해보십시오!

이것은 스택의 입력 목록을 예상하고 필터링 된 목록을 남기는 명명되지 않은 블록입니다.

설명

{e # 새 블록을 시작
 Ab e # 10 진수로 변환-> 숫자를 숫자로 분리
 : + e # 합계 자리수
 mq e # 제곱근을 구합니다
 _ e # 결과를 복제
 즉, 정수로 변환
 = e # 변환 된 제곱근과 원래 제곱근이 같은지 확인
} e # 끝 블록
e # 입력 목록을 필터링합니다.

3

하스켈 -70 60 59 바이트

f=filter(\x->elem(sum.map(read.pure).show$x)$map(^2)[0..x])

용법:

> f [0..100]
[0,1,4,9,10,13,18,22,27,31,36,40,45,54,63,72,79,81,88,90,97,100]

매우 간단합니다. 자릿수의 합계를 계산하고 floor (sqrt (y)) ^ 2 == y인지 확인

편집 : C. Quilley에서 사각형 목록을 확인하는 아이디어를 훔쳤습니다.


2
재미있는 접근법. f=이 답변에이 (가) 필요한지 확실하지 않습니다 .
Michael Klein

3

05AB1E, 19 10 바이트

vySOtDï->—

설명

vy                     # for each int in list
  SO                   # digit sum
    tDï-               # difference between sqrt() and int(sqrt())
        >              # increase by 1 giving 1 (true) when equal
         —             # print current int in list if truthy

온라인으로 사용해보십시오

편집 : @Adnan 덕분에 9 바이트가 절약되었습니다.


각각의 자릿수를 얻으려면 vySO제곱인지 여부를 즉시 확인하고 확인할 수 있습니다 . 나는 이것을 5에 얻었다 : tDï->. (와 ) y과 같을 때 인쇄하는 특수 내장 기능도 있습니다 . 그렇습니다 . 1vySOtDï->—
Adnan

@Adnan : 나는 S에 대해 잊어 버렸다고 믿을 수 없다. 나는 목록으로 출력한다고 말했기 때문에 보지도 않았지만 다른 답변도 동일하게 작동하므로 괜찮다고 가정한다.
Emigna 2016 년

예, 줄 바꿈으로 구분 된 항목은 도전 과제가 명시 적으로 언급하지 않는 한 기본적으로 허용됩니다.
Adnan

3

R , 57 55 바이트

Filter벡터에 사용하십시오 . 32 비트 정수를 가정하므로 최대 10 자리입니다.

코너 사례 : NULL빈 벡터와 numeric(0)유효한 숫자가없는 벡터에 대해 반환 합니다. 둘 다 길이가 0이므로 허용 가능해야합니다.

@Giuseppe 덕분에 -2

Filter(function(n)!sum(n%/%10^(0:10)%%10)^.5%%1,scan())

온라인으로 사용해보십시오!


3

PowerShell , 64 54 바이트

$args|?{!([math]::Sqrt(([char[]]"$_"-join'+'|iex))%1)}

온라인으로 사용해보십시오!

mazzy 덕분에 -10 바이트

입력을 명령 행 인수 (아래 예제 참조)로 가져 오면 PowerShell에서 배열로 처리됩니다 $args. 출력을 선택하기 ?위해 Where-Object(와 비슷한 기능) 의 별칭으로 파이프합니다 filter. 우리의 선택은 .NET 호출을 기반으로 [math]::Sqrt()자리-합 수의은과 정수입니다 !(...%1). 정수는 0 notTrue되고 ed는 정수가 아닌 루트는 False됩니다.

말한 바와 같이 다른 곳에서 빈 배열은 $null범위를 벗어나 자마자 변환되므로 의미 가 없습니다. 따라서 빈 입력에 대한 출력은 아무것도 아닙니다.

PS C:\Tools\Scripts\golfing> .\return-integers-with-square-digit-sums.ps1 1 4 9 16 25 1111
1
4
9
1111

PS C:\Tools\Scripts\golfing> .\return-integers-with-square-digit-sums.ps1 1431 2 0 22 999999999
1431
0
22
999999999

PS C:\Tools\Scripts\golfing> .\return-integers-with-square-digit-sums.ps1 22228 4 113125 22345
22228
4
22345

PS C:\Tools\Scripts\golfing> .\return-integers-with-square-digit-sums.ps1 

PS C:\Tools\Scripts\golfing> .\return-integers-with-square-digit-sums.ps1 1337 4444
4444

1
$n%1int 전용인지 확인$args|?{!([math]::Sqrt(([char[]]"$_"-join'+'|iex))%1)}
Mazzy

2

파이썬 2, 76 바이트

lambda l:filter(lambda n:eval(("sum(map(int,`n`))**.5==int("*2)[:-6]+")"),l)

여기 사용해보십시오!

제곱 수를 확인하기 위해 eval을 남용하는 것은 쉬지 않고 매우 쉬워집니다.
eval 문은 sum(map(int,n ))**.5==int(sum(map(int,n으로 평가됩니다.))**.5)


2

Oracle SQL 11.2, 213 바이트

WITH v AS(SELECT a,SQRT(XMLQUERY(REGEXP_REPLACE(a,'(\d)','+\1')RETURNING CONTENT).GETNUMBERVAL())s FROM(SELECT TRIM(COLUMN_VALUE)a FROM XMLTABLE(('"'||REPLACE(:1,',','","')||'"'))))SELECT a FROM v WHERE s=CEIL(s);

언 골프

WITH v AS
(  
  SELECT a,SQRT(XMLQUERY( 
                   REGEXP_REPLACE(a,'(\d)','+\1')  -- Add a + in front of each digit 
                   RETURNING CONTENT
               ).GETNUMBERVAL())s                  -- Evaluate the expression generated by the added +
  FROM 
  (SELECT TRIM(COLUMN_VALUE)a FROM XMLTABLE(('"'||REPLACE(:1,',','","')||'"'))) -- Split string on ','
)
SELECT a FROM v WHERE s=CEIL(s) -- Is a square if square has no decimal part

2

Brachylog , 26 바이트

:1f.
e.(:ef+~^[X:2]h>0;.0)

예:

?- run_from_file('code.brachylog',[1431:2:0:22:999999999],Z).
Z = [1431, 0, 22, 999999999]

설명

이것은 무언가가 너무 잘 작동하는 상황입니다 ... ~^[X:2]양수와 음수 모두에 해당 하는 부분 X이므로 중복을 피하기 위해 그것을 지정해야합니다 X > 0.

;.0부분은 버그로 인한 것입니다 (정수 0에서는 열거가 작동하지 않습니다).

  • 주요 술어

    :1f.                Find all values of Input which satisfy predicate 1
    
  • 술어 1

    e.                  Unify output with an element of the input
    (
      :ef               Find all elements of Output (i.e. all digits)
         +              Sum the digits
          ~^[X:2]       True if that sum is the result of X², whatever X is
                 h>0    Impose that X > 0
    ;                   OR
      .0                True if Output is 0
    )
    

2

파이썬 2, 53 바이트

lambda x:[n for n in x if sum(map(int,`n`))**.5%1==0]

Ideone에서 테스트하십시오 .


1
의 경우 f([1111111111111111])처럼, 그것은 보이는 repr(n)을 포함 'L'하고 int('L')을 던졌습니다 ValueError. str(n)여기 필요한 것 같아요 ?
Lynn

2
맞습니다. 긴 int에서는 작동하지 않습니다. 그래도 고정 너비 정수를 가진 언어의 솔루션과 다르다고 생각하지 않습니다.
Dennis

2

J, 33 27 바이트

@miles 덕분에 6 바이트 .

#~[:(=<.)@%:+/"1@(10&#.inv)

온라인 통역사에는 보관 inv되어 있지 않습니다. ^:_1대신에 변경하십시오 .

용법

>> f =: #~[:(=<.)@%:+/"1@(10&#.inv)
>> f 1 4 9 16 25 1111 0
<< 1 4 9 1111 0

>>STDIN은 어디에 있고 <<STDOUT입니다.

약간 골퍼

to_base_10 =: 10&#.^:_1
sum        =: +/"1
sqrt       =: %:
floor      =: <.
itself     =: ]
equals     =: =
of         =: @
is_integer =: equals floor
test       =: is_integer of sqrt
copies_of  =: #
f =: copies_of~ [: test (sum of to_base_10)

이전 33 바이트 버전

(]=*:@<.@%:)@(+/"1@(10#.^:_1]))#]

용법

>> f =: (]=*:@<.@%:)@(+/"1@(10#.^:_1]))#]
>> f 1 4 9 16 25 1111 0
<< 1 4 9 1111 0

>>STDIN은 어디에 있고 <<STDOUT입니다.

약간 골퍼

to_base_10 =: 10#.^:_1]
sum        =: +/"1
sqrt       =: %:
floor      =: <.
square     =: *:
itself     =: ]
equals     =: =
of         =: @
test       =: itself equals square of floor of sqrt
copies_of  =: #
f =: (test of (sum of to_base_10)) copies_of itself

1
당신은 사용할 수 있습니다 f&.g적용 g후, f다음의 역은 g단축 *:@<.@%:<.&.%:2 바이트를 저장. 당신은 그것을 재 배열하고받을 만 바닥을 사용할 수있는 #~[:(=<.)@%:+/"1@(10&#.inv)27 바이트 inv이며 ^:_1, 이미 정의되어 있습니다.
마일

2

자바 스크립트 66 바이트

a=>a.filter(b=>(e=Math.sqrt((b+"").split``.reduce((c,d)=>c-+-d)))==(e|0))

7 바이트를 절약 해 준 SergioFC에게 감사합니다


c+d대신에 사용할 수 없습니까 c-+-d? 또한 사용할 수 있습니다n%1==0 결과를 int 인 경우 어쩌면 당신이 사용하는 일부 바이트를 저장할 수 있습니다, 테스트 b=>!(Math.sqrt((b+"").split``.reduce((c,d)=>c-+-d))%1)필터
sergioFC

@sergioFC 나는 문자열이기 때문에-+-를 +로 변경할 수 없습니다
Bálint

2

펄 5, 42 바이트

41, -pe대신에 1-e

my$s;map$s+=$_,/./g;$_ x=sqrt$s==~~sqrt$s

설명:

  • -p새 줄에서 각 입력 정수를 가져와 $_해당 문자열에 할당 합니다.
  • my$s$s각 입력 정수마다 새로 변수 를 아무것도 초기화 하지 않습니다.
  • map$s+=$_,/./g각 숫자를 잡고 숫자로 추가합니다 $s. 줄 바꿈을하면 줄 바꿈이 0이됩니다.
  • sqrt$s==~~sqrt$s여부를 테스트 $snonintegral 제곱근을 가지고 있으며, $_ x=차종$_ 테스트하고 해당 테스트에 따라 자체 또는 빈 문자열로 .
  • -p 인쇄물 $_

3 바이트를 절약 한 Brad Gilbert b2gills 에게 감사 합니다.

또한 41 플러스 1 :

my$s;s/./$s+=$&/ger;$_ x=sqrt$s==~~sqrt$s
  • s/./$s+=$&/ger각 숫자를 추가 $s하고 위와 같이 줄 바꿈은 0입니다.

2

자바 스크립트 (Node.js) , 48 바이트

a=>a.filter(b=>eval([...b+""].join`+`)**.5%1==0)

온라인으로 사용해보십시오!

설명

a =>                                  // lambda function taking one argument
    a.filter(                         // filter the list
        eval(                         // begin eval
            [...b+""]                 // convert number to array of digits 
                .join`+`              // join them with + sign
            )                         // close eval. we achieved sum of all digits of number
        **.5                          // square root of number
        %1==0                         // check for perfect square
    )                                 // end filter and return value

1

MATL, 16 14 13 바이트

"@tV!UsX^1\?x

온라인으로 사용해보십시오!

설명

        % Implicitly grab input
"       % For each number in the input
  @t    % Get this element and duplicate
  V     % Convert to it's string representation
  !     % Transpose the string so each digit is on it's own row
  U     % Convert each row to a number (separates the digits)
  s     % Compute the sum of the digits
  X^    % Compute the square root
  1\    % mod with 1 to determine if the square root is an integer
  ?x    % If there is a remainder, then remove this element from the stack
        % Implicitly display the stack contents

1

줄리아-38 바이트

!X=filter(i->√sum(digits(i))%1==0,X)

이것이 무엇을하는지는 매우 쉽습니다. digits숫자를 숫자 목록으로 변환하여 숫자 sum합계를 계산 한 다음 숫자가 정사각형이면 정수를 생성합니다. 그렇지 않으면 소수 부분이 있습니다. %1소수 부분 만 반환하고 0 ( ==0)이면 filter목록에 유지하고 그렇지 않으면 필터링됩니다.

로 사용 ![22228,4,113125,22345]



1

MATLAB, 52 43 42 바이트

@(x)x(~mod(sum(dec2base(x,10)'-48).^.5,1))

ans배열을 입력으로하여 호출 할 수 있는 익명의 함수 를 작성합니다 ans([22228,4,113125,22345]).

온라인 데모 . 온라인 데모는 옥타브에 있으며 빈 입력에는 작동하지 않지만 MATLAB은 작동합니다.

설명

입력 배열의 각 요소를 밑이 10으로 변환하면 2D 문자 배열이 생성되며 각 행에는 배열의 숫자 자릿수가 포함됩니다. 이 문자를 숫자로 변환하기 위해 48을 뺍니다 (ASCII의 경우 '0'). 그런 다음 행을 합하여 제곱근을 취하고 각 값이 완벽한 제곱인지 확인합니다 ~mod 1. 그런 다음이 부울을 사용하여 입력 배열을 필터링합니다.


1

클로저, 110 바이트

(fn[t](filter(fn[x](let[a(reduce +(*(count(str x))-48)(map int(str x)))](some #(=(* % %)a)(range(inc a)))))t))

숫자 자릿수의 합계를 계산 한 다음 해당 숫자가없는 숫자는 합계와 같습니다.

여기에서 결과를 볼 수 있습니다 – https://ideone.com/ciKOje


1

펄 6 ,  38   35 바이트

{.grep: {($/=sqrt [+] .comb)==$/.Int}}
{.grep: {($/=.comb.sum.sqrt)==$/.Int}}
{.grep: {($/=sqrt [+] .comb)==^$/}}
{.grep: {($/=.comb.sum.sqrt)==^$/}}

테스트:

#! /usr/bin/env perl6

use v6.c;
use Test;

my @tests = (
  [1,4,9,16,25,1111] => [1,4,9,1111],
  [1431,2,0,22,999999999] => [1431,0,22,999999999],
  [22228,4,113125,22345] => [22228,4,22345],
  [] => [],
  [421337,99,123456789,1133557799] => [],
);

plan +@tests;

my &sq-digit-sum = {.grep: {($/=sqrt [+] .comb)==^$/}}

for @tests -> $_ ( :key($input), :value($expected) ) {
  is sq-digit-sum($input), $expected, .gist
}
1..5
ok 1 - [1 4 9 16 25 1111] => [1 4 9 1111]
ok 2 - [1431 2 0 22 999999999] => [1431 0 22 999999999]
ok 3 - [22228 4 113125 22345] => [22228 4 22345]
ok 4 - [] => []
ok 5 - [421337 99 123456789 1133557799] => []

1

C, 143141 바이트

  • @ user6188402에 2 바이트 저장
i;q(char*n){double m=0;while(*n)m+=*n++-48;m=sqrt(m)-(int)sqrt(m);return !m;}s(n,s)char**n;{i=-1;while(++i<s)if(q(n[i]))printf("%s\n",n[i]);}

Ungolfed 온라인 시도

int q(char*n)
{
    double m=0;

    while(*n) // sum digits
        m+=*n++-48;

    // get the decimal part of its square root
    m=sqrt(m)-(int)sqrt(m);

    // true if decimal part is zero
    return !m;
}

// input is text, can be a file
void s(char**n, int s)
{
    int i=-1;

    while(++i<s) // for each number in input
        if(q(n[i])) // if is square
            printf("%s\n",n[i]); // output is terminal
}

1

망막 , 69

망막에서 완벽한 사각형을 테스트하기 때문입니다. 이것은 일반 정수 제곱근 계산을 위해 수정 될 수 있습니다 .

. +
$ & a $ &
+`\ b \ d
$ * b 


\ bb
$ & :
+`(\ bb +) :( bb \ 1)
$ 1 $ 2 :
G` (: a | 0 $)
.*에이

입력은 줄 바꿈으로 구분 된 목록입니다.

온라인으로 사용해보십시오.

  • 1 단계-각 줄에서 번호를 반복하고 a
  • 2 단계- 공백으로 구분 된 s로 a표현 된 단항 으로 각 숫자 를 단항으로 변환b
  • 3 단계-공백 제거-각 단항이 이제 숫자 합을 나타냅니다.
  • 4 단계와 5 단계 – 완벽한 사각형이 1 + 3 + 5 + 7 + ...로 표현 될 수 있다는 사실을 사용하십시오. 이에 따라 각 단항을 나눕니다.
  • 6 단계-그렙 필터는 위의 형식으로 정확하게 분리 된 필터 만
  • 7 단계-원래 번호를 제외한 모든 것을 버립니다

나는 이것을 개선하는 방법에 대한 몇 가지 아이디어를 가지고 있었지만 대부분 그것을 다시 작성했습니다. 그럼에도 불구하고, 이것은 여전히 ​​정확한 아이디어입니다. 입력 중복, 상반신 자릿수 확장, 홀수 합의 형태로 정사각형 필터링, 나머지 줄의 전반을 버립니다. 내가 단계를 골라내는 방법은 %-configuration \G및 forward reference를 사용하는 것입니다. 그것을 자유롭게 가져 가라 : retina.tryitonline.net/… :)
Martin Ender

1

파이썬, 50 바이트

filter(lambda x:sum(map(int,str(x)))**0.5%1==0,in)

n이 숫자 목록 인 경우


1
안녕하세요, 사이트에 오신 것을 환영합니다! 예를 들어 가장 짧은 코드를 작성할 수있는 사람과 같은 코드 골프 경쟁 이기 때문에 모든 제출물 은 최소한 골프를 치는 것이 좋습니다 . 우리는 여기 에 파이썬 골프 팁 목록이 있습니다 . 내 머리 꼭대기에서, 여분의 공백을 모두 제거하고 변수의 이름을 각각 한 글자로 바꾸는 것이 눈에 띄게 개선되었습니다. 명령 행 인수 대신 함수 인수 또는 STDIN으로 입력 할 수도 있습니다.
DJMcMayhem

언어와 바이트 수를 지정해야합니다 (예 : there) .
nicael

1
PPCG에 오신 것을 환영합니다! 다른 사람들이 말한 것 외에도 모든 솔루션 은 완전한 프로그램이거나 호출 가능한 기능이어야합니다 . 지금까지 모든 답변은 스 니펫으로 입력이 일부 변수에 저장되어 결과로 평가되므로 유감스럽게도 입력을 무효로 만듭니다. 수용 가능한 I / O 방법에 대해서는 이 메타 포스트를 참조하십시오 .
Martin Ender 2016 년



1

MathGolf , 5 4 바이트

gÅΣ°

온라인으로 사용해보십시오!

설명:

gÅ    Filter by the next two instructions
  Σ   The digit sum
   °  Is a perfect square?

MathGolf는 아직 개발 중이므로 암시 적 입력이 곧 첫 번째 바이트를 제거한다고 가정합니다. 예이!


첫 번째 MathGolf에 축하드립니다. 나는 Emigna와의 암묵적 인 의견에 대해 이야기했고 그는 나에게 훌륭한 아이디어를 주었다. 곧오고 있습니다.
maxb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.