제곱과 제곱근을 계산하십시오!


48

한 언어로 입력의 제곱을 출력하고 다른 언어로 입력의 제곱근을 출력 하는 를 작성해야합니다 . 바이트 단위의 최단 답변이 승리합니다!

소수점 이하 3 자리 이상의 정밀도를 가져야하며 입력은 항상 양의 부동 소수점입니다.

답변:



90

C 및 C ++, 68 65 바이트

#include<math.h>
float f(float n){auto p=.5;return pow(n,2-p*3);}

원래 답변 :

#include<math.h>
float f(float n){return pow(n,sizeof('-')-1?2:.5);}

두 버전 모두 C 생성 n^2및 C ++ 생성 sqrt(n).


23
"Ha!"로 +1 C와 C ++를 같은 것으로 취급하는 모든 사람들에게.
DocMax

20
@ CAD97 : C에서 auto"스택에 할당"을 의미합니다. 어쨌든 기본 키워드이기 때문에 키워드는 쓸모가 없으므로 C ++은 다른 의미로 사용했습니다. 그러나 C에서는 유형 p(저장 유형이 아닌 유형) 에 대한 의견을 나타내지 않으므로 int기본적으로 계산됩니다 (이 기본 int동작은 현재 권장하지 않으며 현재로서는 존재하기 때문에 가능합니다) C의 이전 모델 중 일부는 데이터 유형이 없었지만 컴파일러는 여전히 데이터 유형을 이해합니다. 그리고 물론, (int)0.50입니다.

2
훌륭합니다.
Quentin

1
그것에 대해 스택 오버플로 질문을 찾았 습니다.
YSC

9
이 답변에 대한 설명은 C가 생성하는 이유를 설명하는 @ ais523의 주석에서 편집하여 향상 될 것이라고 생각 합니다 n^2.
Brian J

50

Python 2 및 Python 3, 23 21 바이트

lambda n:n**(1/2or 2)

Python 2.x는 n^2, Python 3.x는을 생성합니다 sqrt(n).

@Dennis 덕분에 2 바이트가 절약되었습니다!


이거 진짜 멌있다!
njzk2

왜? 공간이 부족한가요 or?
chx

@chx Py2에서 /정수 나누기 ( 1/2==0)를 수행합니다. Py3, 그것은 (포인트 부문 부동 않는가 1/2==0.5). 0falsey입니다.
닉 하틀리

그렇다면 왜 또는 후에 공간을 제거하지 않습니까?
chx

@chx 직접 해보십시오. 그렇게하면 구문 오류가 발생합니다.
numbermaniac

32

2sable / Jelly , 2 바이트

*.

2sable은 제곱을 계산합니다. 온라인으로 사용해보십시오!

젤리는 제곱근을 계산합니다. 온라인으로 사용해보십시오!

작동 원리

2 세블

*   Read the input twice and compute the product of both copies.
    This pushes the square of the input.
 .  Unrecognized token (ignored).

젤리

 .  Numeric literal; yield 0.5.
*   Raise the input to the power 0.5.
    This yields the square root.

7
이 언어는 이 도전을 위해서만 만들어진 것입니다
FloatingRock

20

C (연타)파이썬 , 109 (107) 69 53 바이트

#/*
lambda n:n**.5;'''*/
float a(i){return i*i;}//'''

C : 온라인으로 해보십시오!

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

폴리 글롯에 주석을 사용하여 작동합니다. 나머지는 설명이 필요합니다.

C를 처음 사용!

  • @Riker 덕분에 상당히 많은 바이트를 절약했습니다.
  • 불필요한 공백을 제거하여 2 바이트를 절약했습니다.
  • STDIN / OUT 대신 C 함수를 사용하여 많은 바이트를 절약했습니다.
  • 상단의 import 문을 제거하여 @Delioth 덕분에 16 바이트를 절약했습니다.

@Riker 윌, 감사합니다.
동지 SparklePony

C는 공백이 필요하지 않고 이미 파이썬의 리터럴 문자열이기 때문에 C 주석 (줄 2, 마지막 문자) 다음에 줄 바꿈 하나를 제거 할 수 있다고 생각합니다. 특별한 코드를 반환하지 않으므로 return 0;C99는 끝에서 생략 할 수 있습니다 main(). 특히 C99는 암시 적 반환을 0으로 보유합니다 . 출처
Delioth

@Delioth 실제로 함수를 사용하고 io를 지우는 것이 더 의미가 있습니다.
동지 SparklePony

아, 훨씬 낫습니다. 이 경우에도 포함시켜야 stdio.h합니까?
Delioth

@Delioth하지 않습니다. 으악!
동지 SparklePony

16

젤리 , 3 바이트

젤리의 제곱근 인 옴으로 제곱을 출력합니다.

Ohm과 Jelly는 다른 1 바이트 코드 페이지를 사용하므로 프로그램은 각 인코딩마다 다르게 나타납니다.

프로그램의 xxd hexdump :

00000000: fd7f 0a                                  ...

젤리

Jelly의 코드 페이지를 사용하면 다음과 같이 나타납니다.

’
½

Jelly는 맨 아래 줄을 기본 링크로 사용하고 특별히 호출하지 않는 한 다른 링크는 무시합니다. 따라서 여기에서는 제곱근 ( ½)을 수행하고 암시 적으로 출력합니다.

Ohm의 코드 페이지 (CP437)를 사용하면 다음과 같이 나타납니다.

²⌂◙

²제곱 함수이고, 그리고 둘 미정이므로 프로그램은 단지 사각형 내재적 입력을 읽고 암시를 출력한다.


좋은! 바이트 수는 괜찮습니다.
programmer5000

이 때문에 좋은 답변을 5 바이트로 편집했습니다.
Magic Octopus Urn

와, 첫 번째 옴 답변은 내가 작성하지 않았습니다! 잘 했어!
Nick Clifford

Jelly 코드 페이지를 사용하여 ½바이트 를 얻으면 ²지도는 무엇입니까? 여전히 무시되는 것은 쓰레기입니까? 옴의 경우도 마찬가지입니까? 그런 다음 2 바이트 인 것 같습니다.
AdmBorkBork

1
실제 코드 포인트를 찾는 것을 귀찮게하고 싶지 않기 때문에 예제를 작성하겠습니다. ²Ohm에서 코드 포인트 5에 있다고 가정합니다 . Jelly의 코드 포인트 5 %는 아무것도하지 않으며 아무 것도하지 않으므로 첫 번째 줄이 무엇인지는 중요하지 않습니다. 한다고 가정 ½젤리에 27이며, 옴의 코드 포인트 (27)는 J아무것도하지 않는다, 그래서 두 번째 줄은 중요하지 않습니다. 따라서의 파일이 00000101<newline>00011011있으면 3 바이트입니다. 줄 바꿈이 코드 페이지의 다른 위치에있는 경우 유일한 문제는 것 같아요.
AdmBorkBork

15

C89 및 C99, 47 + 3 = 50 바이트

float f(float n){return n//*
/sqrt(n)//*/1*n
;}

-lm플래그 필요 (+3)

C89는 생산 n^2하고 C99는 생산합니다 sqrt(n). C89에서 테스트하려면 온라인 에서 사용해보십시오!


C89가 sqrt버전 을 수행하게하면 코드가 적어야하지만 s로 sqrt함수 를 암시 적으로 선언해야 int하므로 이것이 내가 관리 할 수있는 최선입니다.


13

옥타브 / MATLAB, 31 29 바이트

 @(x)x^(2-3*any(version>60)/2)

옥타브로 제곱을 출력하고 MATLAB으로 제곱근을 출력합니다.

설명:

구문은 MATLAB과 Octave에서 동일합니다 (적어도이 작은 코드의 경우).

이것은 익명 함수를 만듭니다.

@(x)                                 % Take x as input
    x^(                     )        % Raise x to the power of ...   
               version                 % Returns the version number
                                       % 4.2.0 in Octave, 
                                       % '9.2.0.538062 (R2017a)' in MATLAB
               version>60              % 'R' is larger than 60. All others are smaller
         3*any(version>60)/2           % Checks if there is an 'R' and multiplies it by 1.5 if it is.
       2-3*any(version>60)           % 2-1.5*(is there an 'R')

12

기본 / 델파이 – 6 자

sqr(x)

Basic의 제곱근과 Delphi의 제곱근.

디버거를 사용하여 식을 검사하여 모든 출력 요구 사항을 충족시킬 수 있습니다!


2
이 자체적으로 입력을 받습니까?
Rɪᴋᴇʀ

아니요, 그러나 C / C ++를 포함하여 다른 제출은 수행하지 않습니다.

그래도 여전히 유효하지 않지만 아무것도 변경되지 않습니다. 나는 이것들에 대해서도 언급하려고 노력할 것이다.
Rɪᴋᴇʀ

1
그렇지 않은 것을 연결할 수 있습니까? 찾을 수 없습니다. C / C ++는 함수이며 입력을받지 않고 대신 매개 변수를 사용합니다.
Rɪᴋᴇʀ

3
예, 그러나 무엇 x입니까? 값으로 저장되었다고 가정 할 수 없습니다. 그러나 실제로를 제거하고 (x)함수를 반환하는 것으로 레이블 을 지정할 수 있습니다.
Rɪᴋᴇʀ

11

05AB1E / 불 덩어리 , 3 바이트

다음 바이트가 프로그램을 구성합니다.

FD B9 74

05AB1E는 제곱근, 불 덩어리 제곱을 계산합니다.

설명 (05AB1E- ý¹t) :

ý       Pushes an empty string to the stack (not entirely sure why)
 ¹      Push first input
  t     Square root

설명 (Fireball- ²╣t) :

²       Square input
 ╣      Unassigned
  t     Unassigned

때로는 불완전한 언어를 갖는 데 도움이됩니다.)


1
05AB1E와 Fireball은 다른 인코딩을 사용합니다. 이것이 프로그램에 영향을 줍니까?
Dennis

@Dennis 나는 그것에 대해 생각하지 않았습니다. 따라서 동일한 프로그램을 다른 인코딩으로 저장하면 폴리 고트에 포함되지 않습니까?
Okx

5
Afaik, 기본값은 바이트 스트림이 일치해야한다는 것입니다.
Dennis

10

PHP7 + 자바 스크립트 (62) (61) 58 바이트

이것은 실제로 예상보다 더 어려웠습니다! 내 코드의 길이가 놀랍습니다.

eval(['alert((_=prompt())*_)','echo$argv[1]**.5'][+![]]);


어떻게 작동합니까?

이것은 배열에서 실행할 코드를 선택하여 작동합니다.
으로 PHP 및 JavaScript를 감지 +![]합니다.

PHP에서 []자바 스크립트에이 truthy 값이있는 동안 (빈 배열)하는 falsy 값이 ((제외 객체 null)도 항상 truthy 있습니다 new Boolean(false)truthy입니다!).
그러나 숫자 값으로 가져와야하므로 not( !)를 사용하고 정수 ()로 변환하면됩니다 +.
이제 PHP는 값을 1, JavaScript는을 산출 0합니다.
해당 인덱스에서 배열 안에 코드를 배치하면 원하는 언어에 맞는 코드를 선택할 수 있습니다.
이것은 [JS,PHP][+![]]올바른 언어의 코드를 얻기 위해 로 사용될 수 있습니다 .

이전 polyglots에, 나는 사용한 적이 '\0'=="\0"되는, true(이후 자바 스크립트 \0와 NULL 바이트로 구문 분석) false((가) PHP에서 '\0'리터럴 문자열 비교는 NULL 바이트로 구문 분석되지 않습니다 \0널 바이트)를.
이 확인을 (으)로 줄인 것에 대해 기쁘게 생각합니다 +!'0'. @rckd
대해 더 행복 합니다. 현재 버전으로 줄였습니다!

거기서부터는 단순히 eval필요한 코드입니다.

PHP

PHP는 두 번째 인수에서 값을 받아 표준 출력에 표시하여 (제곱근 수 echo$argv[1]**.5와 동일) 실행 echo sqrt($argv[1]);합니다.

자바 스크립트

JavaScript는를 alert((_=prompt())*_)제곱합니다 alert.



당신이 주셔서 감사합니다 @rckd 1 바이트를 저장하기위한, 그리고 user59178 @ 3 바이트를 절약!


1
! []는 1 바이트를 절약합니다 :-)
rckd

1
@rckd 성스러운 암소! 빈 배열을 잊어 버렸습니다. 감사합니다! 작동 방식에 대한 설명과 함께 질문을 편집했습니다.
Ismael Miguel

1
echo$argv[1]**.5대신 다음 을 사용하여 3 바이트를 절약 할 수 있습니다.echo sqrt($argv[1])
user59178

와우, 좋은 절약! 감사합니다! 답변에 추가했습니다.
Ismael Miguel

8

05AB1EJelly , 4 바이트

nqƓ½

(05AB1E) - (젤리)

nq   # Ignored by Jelly, push n**2 in 05AB1E then quit.
  Ɠ½ # Ignored by 05AB1E due to quit, push sqroot of input in Jelly.

UTF-8 문자는 코드 페이지에서 기술적으로 인코딩 할 각각 2 바이트 인 동일한 작업을 공유하지 않기 때문에 다른 누군가가 좋은 지적을했습니다. 그러나 16 진 덤프 측면에서 이것을 볼 때 :

6e 71 93 0a

05AB1E의 CP1252 인코딩에서 결과는 다음과 같습니다.

nq“\n

그것은 여전히 ​​사각형을 출력하고 나머지는 무시하고 종료한다는 것을 의미합니다. 이 바이트가 Jelly의 코드 페이지를 사용하여 인코딩 된 경우 :

nqƓ½

원래 의도 된 코드는 실행될 때 원하는 입력을 취하고 sqrt를 가져옵니다.


2
이것은 실제로 6 모두 UTF-8 등의 바이트이며, Ɠ그리고 ½부호화 두 바이트를 필요로한다. 그러나 바이트 시퀀스 6e 71 93 0a( nqƓ½Jelly의 nq“\n경우 CP-1252의 경우)는 두 언어 모두에서 작동해야합니다.
Dennis

@Dennis ½는 두 코드 페이지 모두에 있다고 생각하지만 다른 작업이기 때문에 단일 코드로 계산할 수 없습니다. 나는 여전히 전체 코드 페이지에 대해 애매하다.
Magic Octopus Urn

1
바이트 점수는 바이트 스트림을 세는 것을 의미합니다. 인터프리터가 실제로 한 코드 페이지에서 일부 문자를 인코딩하고 다른 코드 페이지에서 다른 문자를 인코딩하는 것을 지원하지 않으면 점수를 매기기 위해이를 수행 할 수 없습니다.
Dennis

4
@carusocomputing 제출은 4 바이트 6e 71 93 0a이므로 4 바이트 를 주장하는 것에 대한 "이론적으로"는 없습니다. 4 바이트 만 청구하십시오. 05AB1E의 표준 인코딩에서는 원하는 것을 수행하는 한 가지를 읽지 만 Jelly의 표준 인코딩에서는 원하는 것을 수행하는 다른 것을 읽습니다. 게다가, 2 개의 인코딩이 동일한 문자를 인코딩 할 수 있다고해서 문자가 두 문자에서 동일하다는 것을 의미하지는 않습니다. 룩업 테이블이 이미 공유 된 숫자 사이퍼와 같은 인코딩을 생각하면 좋은 시작 정신 모델을 얻을 수 있기를 바랍니다.
Dave

@Dave 나는 Dennis를 잘못 해석 했어야했다.
Magic Octopus Urn

6

CJam / MATL , 8 바이트

ld_*GX^!

CJam의 제곱 ( 온라인으로 시도! )과 MATL의 제곱근 ( 온라인으로 시도! )을 계산합니다.

CJam에서 사각형의 설명

ld    e# Read input line and interpret as a double
_     e# Duplicate
*     e# Multiply. Pops the input number twice, pushes its square
G     e# Push 16
X     e# Push 1
^     e# Bitwise XOR. Pops 16 and 1, and pushes 17
!     e# Negate. Pops 17, pushes 0
      e# Implicitly display. This prints the squared input with decimals,
      e# immediately followed by the 0 coming from the negate operation
      e# Even if the square of the input number is an integer, say 5,
      e# it is displayed as 5.0, so including an extra 0 always gives a
      e# correct result

MATL의 제곱근 설명

l      % Push 1. This is a number or equivalently a 1×1 array
d      % Consecutive differences. Pops 1, pushes [] (empty array)
_      % Negate (element-wise). This leaves [] as is
*      % Implicitly input a number and push it. Multiply (element-wise): 
       % pops [] and the input number, pushes []
G      % Push input number again
X^     % Square root. Pops number, pushes its square root
!      % Transpose. For a number (1×1 array) this does nothing
       % Implicitly display. The stack contains [] and the result; but 
       % [] is not displayed at all

야! 좋은 제출! 다른 답변과 같은 설명을 추가 하시겠습니까?
programmer5000

@ programmer5000 오류를 수정하고 설명을 추가했습니다
Luis Mendo

5

파이썬 2와 포스, 43 33 바이트

( """ )
fsqrt
\ """);lambda n:n*n

온라인으로 사용해보십시오 : Python 2 (스퀘어) | 앞뒤 (sqrt)

이것은 파이썬의 익명 함수와 fsqrtForth 의 내장 함수로 평가됩니다 . 파이썬은 람다 앞에 f두면 2 바이트 더 명명 된 함수 를 가질 수 있습니다 f=.

Forth 프로그램은 부동 소수점 리터럴을 취하며 Forth에서는 과학적 표기법으로 작성해야합니다. 소수점 이하 세 자리 ( 3.141)로 잘린 Pi 는 다음과 같이 작성됩니다.

3141e-3

5

자바 스크립트 (ES6) / 자바 스크립트 (ES7), 52 바이트

f=a=>eval(`try{eval("a**2")}catch(e){Math.sqrt(a)}`)

ES7의 입력 제곱과 ES6의 제곱근을 반환합니다. ES6은 지원하지만 ES7은 지원하지 않는 구형 브라우저가 없으면 테스트하기가 매우 어렵습니다.

f=a=>eval(`try{eval("a**2")}catch(e){Math.sqrt(a)}`)

console.log(f(4));


영리한! 이것에 좋은 직업!
programmer5000

백틱에 대한 이유가 있습니까? 작은 따옴표가 작업을 수행하는 것처럼 보입니다.
JLRishe

@JLRishe Nope, 이유가 없습니다 :)
Tom

5

PHP와 CJam , 30 29 25 바이트

ECHO"$argv[1]"**2;#];rdmq

PHP의 제곱과 CJam의 제곱근을 계산합니다. -rPHP를 사용하여 실행해야합니다 .

PHP

첫 번째 명령 줄 인수 ( $argv[1])를 제곱수 2만큼 올린 후 출력합니다. 여기 $argv[1]실제로는 문자열에 인라인 변수로 표시되며 지수를 수행하기 전에 숫자로 캐스트됩니다. vCJam에서는 유효한 명령어 가 아니기 때문에 구문 분석 중에 오류가 발생하지만 문자열에 넣으면 아무런 문제가 없습니다.

# 주석을 시작하므로 이후의 모든 것이 무시됩니다.

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

CJam

코드의 첫 번째 부분은 ECHO"$argv[1]"**2;#많은 값을 푸시하고 많은 작업을 수행하며 모두 쓸모가 없습니다. 유일하게 중요한 것은 오류가 발생하지 않는다는 것입니다. 왜냐하면 바로 뒤에 있기 때문에 ];전체 스택을 배열로 감싸고 버립니다.

그런 다음 입력 ( rd) 에서 double을 읽고 제곱근 ( mq)을 가져 와서 암시 적으로 출력합니다.

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


5

C, 작업 인화점 스크립팅 언어, 52 바이트

;float f(float x){return sqrt(x);}char*
F="_this^2";

OFP 스크립트에서 줄 시작 부분의 세미콜론은 해당 줄을 주석으로 만드는 반면 C는 추가 세미콜론에 신경 쓰지 않습니다.

씨:

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

OFP 스크립팅 언어 :

init.sqs미션 폴더에 다른 이름으로 저장 한 다음로 전화하십시오 hint format["%1", 2 call F].

결과: 여기에 이미지 설명을 입력하십시오


좋아, 이거 정말 멋지다. 그 긁는 언어를 어떻게 생각하십니까?
Rɪᴋᴇʀ

@Riker Operation Flashpoint는 항상 제가 가장 좋아하는 게임 중 하나였습니다. 스크립팅 언어로 많은 일을 했었습니다.
Steadybox

3

망상 / Befunge-98 , 15 바이트

2D 언어!

/&:*.@
>in:o#p;

베 펀지 -98

/&:*.@

/          divide top two (no-op)
 &         read decimal input
  :        duplicate
   *       square
    .      output
     @     terminate

망상

/           mirror up, then right
>in:o#p;

 i          read line of input
  n         cast to number
   :o#      square root
      p     print
       ;    terminate

3

> <> / Jelly , 9 바이트 ( > <> 의 '-v'플래그의 경우 7 바이트 코드 + 2)

남자, 젤리 링크 구조가 정말 재미 있어요.

:*n;
½

> <> 의 제곱 과 Jelly 의 제곱근 계산합니다 .


젤리에서도 -v를 사용할 수 없습니까?
Rɪᴋᴇʀ

-v내 의견 으로 는, 이 경우를 처리하는 메타 질문에 대한 [최고 투표 답변 [( codegolf.meta.stackexchange.com/a/11431/44874 )과 일치합니다. ><>통역은 필요 -v하고 이것은 가장 간단한 호출 그에이다.
steenbergh

3

Python 3 + JavaScript, 101 바이트

0//1or exec("function=lambda a:(lambda b:a);x=0")
y=2//2/2
f=(function(x)(x**y))//1 or(lambda x:x**y)

JS의 제곱근, 파이썬의 제곱근.

Firefox (FF 52에서 테스트)에서 작동하며 (function(x) x)(42) === 42유효한 구문이 필요 합니다. **운영자를 위한 ES7도 필요합니다 .


Firefox에서 테스트되었으며 작동 중입니다. x=>x**y대신 사용할 수 있습니까? 아니면 파이썬이 그것을 질식시킬까요?
Ismael Miguel

@IsmaelMiguel python은 화살표 functinos를 지원하지 않습니다.
Rɪᴋᴇʀ

파이썬에서는 작동하지 않습니다. 기능은 키워드가 아닙니다.
Rɪᴋᴇʀ

작동합니다. 때문에 function키워드 아니라, 유효한 식별자입니다. 그래서 방금 noop 함수를 할당했습니다 ( exec구문 내부 ).
kjaquier

3

bash와 sh, 48 바이트

업데이트 : 나는 패배를 인정해야합니다. Digital Trauma 의 bash / sh 답변은 이것보다 훨씬 우아합니다.


bc -l<<<"sqrt($1^(($(kill -l|wc -l)*3-3)/7+1))"

bash는 n^2sh를 생성합니다 sqrt(n).


bcsqrt계산할 수 있도록 필요합니다 . 동작의 차이는 bash와 sh 사이입니다.

좋아, 기술적으로 내가 사용하는 "sh"는 여전히 bash이지만 "POSIX"모드에서 bash는 ( bash의 별칭 인 시스템 /bin/sh대신에 호출하는 경우 발생 함 ) 이것이 시스템의 경우 다음과 같이 테스트 할 수 있습니다./bin/bash/bin/sh

/bin/bash prog.sh 4
/bin/sh prog.sh 4

이것은 여기에 설명 된 차이점 중 하나를 기반으로합니다 : https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html


1
어떻게 작동합니까?
Brian Minton

2
@BrianMinton and에서 실행을 시도하십시오 kill -l(가능한 신호를 나열 bash하고 아무 것도 변경하지 않음) sh. 그것은 당신이 여기에서 찾을 수있는 많은 차이점 중 하나입니다 : gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html
데이브

3

QBIC / QBasic, 26 18 바이트

input a
?a^2'^.25

QBasic 에서는 숫자를 가져 와서 그 수를 제곱으로 인쇄합니다. QBasic에서는 코드를 주석 ( ') 으로 인식하므로 나머지 코드는 무시 됩니다.

QBIC 은 동일한 입력 문을 사용합니다. 그런 다음 같은 수의 제곱을 인쇄 한 다음 1/4의 거듭 제곱하여 효과적으로 두 번 뿌리를 내 렸습니다. 'QBIC에서 구문 분석하지 않은 순수 QBasic 코드 인 코드 리터럴로 표시 되기 때문 입니다.


2

젤리 / , 6 바이트

편집 : 작업을 반대로하면 바이트가 짧습니다.

RTa
²

온라인 젤리를보십시오!

젤리는 코드 하단에서 실행을 시작하고 ( '메인 링크') 더 높은 것이 필요한지 확인합니다. 명령을 제곱하고 암시 적으로 입력 및 출력을 처리합니다.

온라인 핍을보십시오!

Pip은 최상위 행을 실행하고 (cmd 행에서 암시 적으로 읽은) var a를 제곱하여 암시 적으로 인쇄합니다. 결론은 무시됩니다.


대안 6 바이 터 : PRTaVS.
steenbergh

2

Wolfram 언어 / PHP , 25 바이트

Wolfram Language에서 숫자의 제곱을 구하고 PHP에서 제곱근을 구하십시오.

n^2
echo sqrt(_GET["n"]);

첫 번째 줄은 Wolfram Language입니다. 먼저 Wolfram Alpha의 검색 창에서 n을 변경하여 코드도 입력해야합니다. 그런 다음 Enter 키를 누르면 답변이 생성됩니다.

n^2

두 번째 줄은 PHP입니다. 주소 표시 줄에 입력 될 n의 제곱근을 얻습니다 (예 : ppcg.php.net?n=213, 여기서 213은 n의 값입니다)

echo sqrt($_GET["n"]);

1
PPCG에 오신 것을 환영합니다! 그러나 어떻게 든 입력해야합니다. 숫자가 변수에 저장되어 있다고 가정 할 수 없습니다. 미안합니다. 여기에서 허용 가능한 i / o 메소드 목록을 볼 수 있습니다. (답에 긍정적 인 점수는 허용, 부정적인 의미는 허용되지 않음을 의미 함)
Rɪᴋᴇʀ

알았다. 답을 수정하겠습니다. :) 또 다른 이유는 wolfram에 다른 입력 코드를 추가 할 수없는 이유에 대해서만 설명하겠습니다.
Jimwel Anobong

도와 줄 수있어서 기뻐! ppcg에 붙어 있기를 바랍니다!
Rɪᴋᴇʀ


1
Wolfram Language는 수학을 기반으로하며 자연스럽지 않은 방식으로 수학 공식을 입력해야합니다. 또 다른 하나는 응답자가 언어를 밝히지 않고 웹 사이트를 지원하는 언어 인 볼프람 언어 인 웹 사이트를 정리한다는 것입니다. Wolfrsm Language와 WolframAlpha는 각각과 관련이 있지만 동일하지는 않습니다. 완전히 다릅니다.
Jimwel Anobong

2

PHP 5.6 및 PHP 7, 55 바이트

function f($n){list($a[],$a[])=[.5,2];echo $n**$a[0];}

PHP 5.6은 n^2PHP 7을 생산합니다 sqrt(n).


2

macOS Bash 및 sh, 24 바이트

p=^4 :
bc<<<"sqrt($1)$p"

Mac 에서 Posix 모드 shbash실행 중이며이 경우 https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html에 따라 실행됩니다 .

POSIX 특수 내장 이전의 지정 문은 내장이 완료된 후에 쉘 환경에서 지속됩니다.

따라서의 sh경우 변수 p는의 실행 ^4후 값 을 :갖지만의 bash경우 변수 는 실행 p되는 동안이 값만 가지며 :이후에는 비어 있습니다.

여전히 실제로 bash커버 아래에 있기 때문에 <<<herestrings 와 같은 일부 bashism은 여전히 ​​bash 및 sh 사례 모두에서 작동합니다.


배쉬와 대시 (및 GNU utils), 27

Ubuntu 16.01에서 herestrings를 수행하지 않는에 sh대한 심볼릭 링크 입니다. 그래서 우리는 대신 이것을 가지고 있습니다 :dash<<<

p=^4 :
echo "sqrt($1)$p"|bc

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


다른 모드 / 환경을 잘 사용하십시오!
programmer5000

이것은 내 버전보다 훨씬 낫습니다!
Dave

1

옥타브 / 카디널 , 28 바이트

이 프로그램은 카디널의 입력을 제곱하고 옥타브의 제곱근을 얻습니다.

 %:=t.
disp(sqrt(input("")))

온라인으로 사용해보십시오! (옥타브)

온라인으로 사용해보십시오! (추기경)

따라서 %는 Octave의 한 줄 주석이므로 입력을 받고 제곱근을 인쇄합니다.

disp(sqrt(input("")))

카디널 프로그램에 0으로 나누기와 오류가 발생하지 않도록 프로그램

%:=t.

공백으로 이동했습니다. 두 프로그램 모두 무시됩니다.

추기경 프로그램 설명 :

프로그램은 %로 시작합니다.
입력을 받고 값을 활성으로 저장
합니다. 비활성을 활성과 동일하게 설정합니다. =
활성에 비활성을 곱합니다. t
마지막으로 활성 값을 출력합니다.


1

PHP / JavaScript, 43 바이트

<body onload=alert(<?=$x*$x.')>'.sqrt($x)?>

입력은 다음과 같습니다.

<?php $x = 10; ?>

스스로 설명하지만 규칙에 맞습니까? 내 첫 번째 코드 골프 tho :-)


1
코드 골프에 오신 것을 환영합니다! 입력은 float이거나 float 만있는 문자열이어야합니다. 올바르게 이해하면 별도의 입력이 필요합니다.
programmer5000

이것이 JavaScript로 실행됩니까? 두 버전 모두 PHP 처리 단계가 필요한 것 같습니다 (JavaScript는 무엇을 해야할지 모르겠습니다 alert(<?=$x*$x.')>'.sqrt($x)?)
Dave

0

CGL (CGL 골프 언어) / JS (ES6), 13 바이트 (비경쟁)

경쟁하지 않는 이유 :

  1. 이 질문 후에 CGL이 릴리스되었습니다.
  2. CGL은 유효한 언어 가 아닙니다 . 및로 인해 CGL은 기술적으로 유효한 언어입니다.

암호:

 x=>x**2
//-₂

JS :

단순 : 첫 번째 인수를 제곱 한 익명 화살표 함수. 명명되지 않은 언어 코드는 주석 처리됩니다.

CGL :

첫 번째 줄 앞 의 비 공백 공간 은 주석처럼 작동합니다. /들에는 작전 없습니다. -번째 라인은 기본적으로 입력 한 후 저장 -1로 설정하는 것을 0 인 현재 스택 수를 감소하는 것을 의미한다. 는 입력이 배치되는 경우 지금의 제곱근과 현재 스택의 첫 번째 항목을 대체합니다. 기본적으로 현재 스택이 출력되고 입력의 제곱근이 출력됩니다.


이것은 13 바이트입니다. CGL에 대해서는 몰랐지만 JS가 ascii / utf-8을 사용한다고 확신합니다. CGL은 자체 코드 페이지가 없으면 UTF-8을 사용합니다.
Rɪᴋᴇʀ

@Riker는 현재 ascii / utf-8을 사용합니다. 감사.
programmer5000
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.