+ 또는-부호를 사용하지 않고 추가


24

이전에 "Do _ without _ _"도전 과제 가 많이 있었지만 이것이 가장 어려운 과제 중 하나가되기를 바랍니다.

도전

STDIN에서 두 개의 자연수 (정수> 0)를 사용하고 두 숫자의 합을 STDOUT에 인쇄하는 프로그램을 작성해야합니다. 문제는 당신이 몇 가지로 사용한다는 것입니다 +-가능한 징후. 합산 또는 부정 함수를 사용할 수 없습니다.

입력

123
468

산출

591

입력

702
720

산출

1422

차단기를 묶어 : 두 프로그램이 같은 수있는 경우 +-문자를, 승자는 더 적은을 가진 사람 / * ( ) = . ,0-9문자.

허용되지 않음 : 표준 더하기 / 빼기 및 증분 / 감소 연산자가 다른 기호 +이거나 -허용되지 않는 언어입니다. 즉, 공백 언어는 허용되지 않습니다.


1
아마도이 도전은 내가 생각했던 것보다, 특히 sum () 함수가있는 다른 언어에서보다 훨씬 쉬웠을 것입니다. 이 문제를 해결해야합니다.
PhiNotPi

50
Brainfuck에서 이것을 할 수있는 사람이라면 누구나 100 회 현상금을받습니다.
피터 올슨

3
올슨 잘 @ 피터, 나는 BF 중 하나없이 완전한 튜링되지 않은 추측 +이나 -...
FUZxxl

3
명확히하기 위해이 과제는 코드 길이에 신경 쓰지 않습니까? 만 수 +, -넥타이 차단기 문자? ... 또는 규칙을 다시 변경해야합니까 :-)
Tommy

@ 토미 아니, 그렇지 않습니다.
PhiNotPi

답변:


29

펄 (+/-, 타이 브레이커 없음, 29 자)

s!!xx!;s!x!$"x<>!eg;say y!!!c

보너스로, 당신은 더 추가하여 두 개의 숫자보다 코드 합 더 만들 수 있습니다 x받는 사람들 s!!xx!.

또는 여기에 각각 1 및 3 타이 브레이커가있는 2 개의 21 문자 솔루션이 있습니다.

say length$"x<>.$"x<>

say log exp(<>)*exp<>

참고 :이 솔루션은 sayPerl 5.10.0부터 -E명령 행 스위치 또는로 사용할 수 있는 기능을 사용합니다 use 5.010. 이전 perls에서 작동하는 버전 은이 답변편집 기록을 참조하십시오 .


타이 브레이커가없는 솔루션은 어떻게 작동합니까?

  • s!!xx!빈 문자열을 문자열로 바꾸는 변수에서 기본적으로 작동 하는 정규 표현식 대체 연산자 입니다. (보통 펄의 정규 표현식 구분 기호로 사용되지만, 정말 거의 모든 문자를 사용할 수 있습니다 내가 선택했다. 이 타이 브레이커 아니다 때문이다.)이 붙이는 단지 멋진 방법 에 - 또는, 이후 정의되지 않은 빈 밖으로 시작 (, 실제로), 그것은 등호를 사용하지 않고 쓸 수있는 방법 입니다 (한 문자도 적음).$_xx/!"xx"$_$_$_ = "xx"

  • s!x!$"x<>!eg또 다른 정규 표현식 대체입니다. 이번에는 각 xin $_을 expression의 값 으로 바꿉니다 $" x <>. 합니다 ( g스위치 글로벌 여분 지정 e교체 리터럴 스트링으로 사용되는 대신 펄 코드로 평가되도록 지정한다.) $"A는 특수 변수 기본값이 단일 공간 될 일이; 대신에 사용 " "하면 하나의 문자 가 저장됩니다. (알려진 다른 변수는 같은 한 문자 값을 가지고 $&또는 $/것을 제외하고, 여기에 똑같이 잘 작동, 사용하는 $/나에게 타이 브레이커를 요할 것입니다.)

    <> 라인 입력 연산자 스칼라 문맥에서, 표준 입력 되돌아 그것으로부터 하나 개의 라인을 판독한다. x는 펄 전에 문자열 반복 연산자 , 정말이 솔루션의 핵심입니다 : 그것의 왼쪽 피연산자 (하나의 공백 문자)가 오른쪽 피연산자에 의해 주어진 횟수를 반복 반환 (선은 우리는 단지 입력으로 읽기).

  • y!!!c음역 연산자 를 사용하여 문자열의 문자를 세는 (분명히) $_기본적으로 모호한 방법 입니다. 방금 쓸 수는 say length있지만 난독 처리 된 버전은 한 문자가 짧습니다. :)


3
+1-끔찍하고 완전히 읽을 수없는 ;-)이 도전에서 문자 수는 중요하지 않기 때문에 완벽한 대답 인 것 같습니다.
Tommy

@ Tommy, 다른 완벽한 답변도 있습니다. 아마도 우리는 캐릭터 수를 최종 순위 결정자로 밀어야 할 것입니다.
피터 테일러

@ 피터 : 기본적으로 이미 있다고 가정합니다.
Ilmari Karonen

1
문자 개수가 최종 타이 브레이커이고 다른 항목에서 많은 항목이 0으로 묶인 경우 code-golf일부 소스 제한 사항 만 적용되지 않습니까?
Sparr

47

R (24 자)

length(sequence(scan()))

이것이하는 일 :

  • scan STDIN (또는 파일)에서 입력을 읽습니다.
  • sequence1부터 시작하여 정수 시퀀스를 생성하고 시퀀스를 연결합니다. 예를 들어 sequence(c(2, 3))벡터가1 2 1 2 3
  • length 연결된 벡터의 요소 수를 계산합니다.

예 1 :

> length(sequence(scan()))
1: 123
2: 468
3:
Read 2 items
[1] 591

예 2 :

> length(sequence(scan()))
1: 702
2: 720
3:
Read 2 items
[1] 1422

1
매우 영리하고 잘하셨습니다.
Matthew 읽기

이것은 나의 마음을 날려 버린다
smci

+/- 및 위에서 언급 한 타이 브레이커는 문자가 아니라 흥미 롭습니다.
사용자가 알 수 없음

길이는 어떻게 계산합니까? 추가하지 않고? 그렇다면 놀랄 것입니다.
Tem Pora

2
@TemPora이 질문은 답변 뒤의 코드 만 제한하고 뒤에서 수행되는 작업은 제한하지 않습니다. 우리는 질문을 제한하지 않으므로 기본 컴퓨터 아키텍처는 레지스터를 증가시킬 수 없습니다.
mbomb007

15

main(){
    int a,b;
    readf("%d %d",&a,&b);
    while(b){a^=b;b=((a^b)&b)<<1;}
    write(a);
}

승리를 위해 조금 뛰다

보너스로 컴파일 된 코드에는 추가 작업이 포함되어 있지 않습니다 (readf 호출을 위해 말할 수는 없습니다)


12

파이썬 2, 43 바이트

print len('%s%s'%(input()*'?',input()*'!'))

3
매우 독창적이지만 문자열에 사용 된 문자를 "~"와 같은 타이 브레이커 이외의 문자로 변경하고 싶을 수도 있습니다.
3Doubloons

Alex의 조언에 감사드립니다. 나는 이미 타이 브레이커 규칙에 대해 잊어 버렸습니다.
Omar

print sum(input(),input())
razpeitia

9
razpeitia : sum은 "sum-like"기능이므로 허용되지 않습니다.
Omar

6

GolfScript

+/- 또는 타이 브레이커 없음 :

# Twiddle some bits to get a few small integers
[]!~abs:two~abs:three!:zero~:minusone;

~[two base minusone%\two base minusone%]zip
zero:c;
{
    # Stack holds [x y] or [x] with implicit y is zero
    # Half adder using x y c: want to end up with sum on stack and carry back in c
    [~c zero]three<zero$
    ~^^\
    $~;:c;;
}%
[~c]minusone%two base

다른 사람들이 사용하는 것과 동일한 목록 연결 트릭을 사용하여 두 개의 타이 브레이커 문자가있는 훨씬 간단한 버전입니다.

~[\]{,~}%,

나는 )실제로 사용하지 않기 때문에 GolfScript가 증분 연산자로 자격을 갖추지 못했다고 가정 합니다.


6

C (32 비트 만)

int main(int ac, char *av) {
    scanf("%d\n%d", &ac, &av);
    return printf("%d\n", &av[ac]);
}

포인터 산술도 좋습니다.
요구 사항과 어떻게 일치합니까?
* 없음 +또는 -
* 아니 /, =, ., 0- 9
* 나 최소한의 (당신이 필요로하는 것 같다 괄호로 3 쌍 main, scanf, printf).
* 하나 *(포인터 접근이 필요합니다).
* 4 개 ,(가 아닌 일반 변수를 정의하여 1 개를 저장할 수 있음 ac,av)


6

C ++ 0 +/-, 3 개의 타이 브레이커

#include <vector>
#include <iostream>

#define WAX (
#define WANE )
#define SPOT .

int main WAX WANE {
    unsigned x;
    unsigned y;
    std::cin >> x >> y;
    std::vector<int> v WAX x WANE;
    std::vector<int> u WAX y WANE;
    for WAX auto n : u WANE {
        v SPOT push_back WAX n WANE;
    }
    std::cout << v SPOT size WAX WANE;
}

5

하스켈, 0 + 2

import Monad
main = join $ fmap print $ fmap length $ fmap f $ fmap lines getContents
f x = join $ flip replicate [] `fmap` fmap read x

이 사용하지 아니 +하거나 -문자 및 두 =바인딩에 대한 의무 중 하나는 타이 브레이커 문자의 집합에서 main. 합은 적절한 길이의 목록을 연결하여 수행됩니다.


4

편집 규칙이 허용 안함으로 변경되기 전에 게시되었습니다 sum...

R 언어 : 전화를하지 +않거나 -... 그리고 9 명의 타이 브레이커 캐릭터!

sum(as.numeric(readLines(n=2)))

예:

> sum(as.numeric(readLines(n=2)))
123
456
[1] 579

[1] 579대답 579합니다 (이 [1]R에 모든 값이 벡터 때문에 당신이 어디에 결과 벡터를 추적하는 것입니다 - 길이 1의 경우)

R에는 +대부분의 언어와 같은 연산자가 sum있습니다. 너무 많은 벡터를 합산하는 것도 있습니다.

이 경우 readLines길이 2의 문자열 벡터를 반환합니다. 그런 다음 숫자로 두배로 늘리고 합산합니다.

R의 다른 기능을 보여주기 위해 :

> 11:20 # Generate a sequence
 [1] 11 12 13 14 15 16 17 18 19 20

> sum(1:10, 101:110, pi)
[1] 1113.142

1
+1 sum () 함수를 불법화하도록 규칙을 변경해야합니다.
PhiNotPi

@PhiNotPi-규칙 변경?! 부정 행위입니다! :-) ...하지만 아마도 "sum-like functions"이라고 말하거나 colSums대신에 그냥 사용하겠습니다 ... 아마도 "negation-like functions"을 금지 할 수도 있습니다.
Tommy

2
나는 당신의 충고를 할 것입니다. 내가 알 수 있듯이이 사이트의 모든 사람 (나 포함)은 규칙의 허점을 지적하는 것을 좋아합니다.
PhiNotPi

4

R 언어

새로운 규칙, 새로운 답변, 같은 언어. 에 없음 전화 +또는-

업데이트을 사용하면 scan11 개의 타이 브레이커 문자 (및 27 자)로 줄어 듭니다.

as.numeric(scan())%*%c(1,1)

독창적 : 타이 브레이커 캐릭터 13 명!

as.numeric(readLines(n=2)) %*% c(1,1)

예:

> as.numeric(readLines(n=2)) %*% c(1,1)
123
456
     [,1]
[1,]  579

이번에는 행렬 곱셈으로 결과를 얻습니다. 답은 1x1 행렬로 표시됩니다.


내가 이것을 불법화하기 위해 할 수있는 일은 없습니다. 아마도 R은 수학에 기반을두기 때문에이 과제에 능숙 할 것입니다. 아니면이 도전은 쉬울 수도 있습니다.
PhiNotPi

+1 니스 당신과 함께이도 짧은을 만들 수 있습니다 scan()대신readlines(n=2)
Andrie

@Andrie-네,하지만 당신은 정확히 두 개의 숫자를 입력하는 사용자에 의존합니다 ...이 도전에 대해 괜찮은 것 같아요 ...
Tommy

4

Haskell, 0 +/ -, 6 2 타이 브레이커 ( =)

(문자열 / 목록 연결 트릭을 사용하지 않음)

main = interact f
f x = show $ log $ product $ map exp $ map read $ lines x

"fgh"대신 "a where ax = f $ g $ h x"라고 쓰면 여분의 =를 희생시키면서 모든 점을 제거 할 수 있습니다.
Omar

3

자바 스크립트, 56

p=prompt;alert(Array(~~p()).concat(Array(~~p())).length)

~~ 팁의 @JiminP에게 감사합니다! 나는 최소한 바이트를 사용하고 있으므로 p = 프롬프트에서 1 바이트를 절약합니다. 여전히 가치가 있습니다. 나는 타이 브레이커 문자에 대한 당신의 주장을 이해하지만, 솔직히 말하면 가장 적은 바이트는 아니지만 :-p

제 69 화

i=parseInt;p=prompt;alert(Array(i(p())).concat(Array(i(p()))).length)

@Ilmari와 @JiminP의 피드백 덕분에 원래 솔루션에서 13 바이트를 줄였습니다.

원래 82

i=parseInt;p=prompt;a=Array(i(p()));a.push.apply(a, Array(i(p())));alert(a.length)

쉼표 뒤의 공간은 완전히 불필요합니다. 그것을 제거하면 81로 내려갑니다.
Ilmari Karonen

concat계산을 사용 하고 넣는 alert시간이 더 짧습니다. i=parseInt;p=prompt;alert(Array(i(p())).concat(Array(i(p()))).length) BTW, Array(n)길이가 배열 을 반환 하는지 몰랐습니다 n. 구글 크롬 콘솔은 나에게 []아무것도 없다고 생각했다.
JiminP

1
아, 중요한 것은 타이 브레이커 문자 p=prompt이기 때문에 좋지 않습니다. 그리고 parseInt(x)거의와 같습니다 ~~x. alert(Array(~~prompt())['concat'](Array(~~prompt()))['length'])(12 타이 브레이커 문자) PS. 나는 이것을 나의 입장으로 사용할 수 있지만 그것은 단지 절도의 느낌을 준다.
JiminP

3

기음

b[500];i;j;main(){scanf("%d%d",&i,&j);printf("%d\n",sprintf(b,"%*s%*s",i,"",j,""));

3

APL (+/- 없음, 타이 브레이커 없음, 8 자 또는 10 자)

이 항목은 입력에서 생성 된 시퀀스를 연결하고 길이를 찾는 다른 항목과 유사하지만 APL에 있습니다.이 같은 작은 문제조차도 혼란스럽게 보일 수 있습니다. 무료 교육 라이센스를 제공하는 Dyalog APL을 사용했습니다 .

암호:

⍴⊃⍪⌿⍳¨⎕⎕

오른쪽에서 왼쪽으로 :

  • 각 인용 부호 ( )는 사용자에게 입력을 요청하고 평가합니다.
  • 각 연산자 ( ¨)는 인덱스 생성기 함수 ( )를 배열의 각 항목에 오른쪽에 적용합니다.
  • 결과 배열 배열을 하나의 배열로 병합합니다. 입력 배열은 축소 연산자 ( /)에 의해 단순 목록으로 축소 되어 연결 함수 ( ,)를 사용하여 배열을 접습니다 . 이러한 과제를 해결하기 위해, 1 차원 감소 연산자 ( )가 제 1 축 ( )을 따라 연결 연산자와 함께 사용된다 .
  • 감소 연산자를 사용한 결과 배열은 봉지에 넣는 것과 같이 둘러싸여 있습니다 . 외부에서 볼 수있는 것은 내용물이 아닌 가방입니다. 공개 연산자 ( )는 동봉 된 어레이 (백)의 내용을 알려줍니다.
  • 마지막으로 shape-of 함수 ( )는 배열 차원의 길이를 알려줍니다. 이 경우 1 차원 배열이 있으므로 배열의 항목 수를 얻습니다. 결과는 이렇습니다.

결과를 명시 적으로 출력해야하는 경우 다음과 같이 수행 할 수 있습니다.

⎕←⍴⊃⍪⌿⍳¨⎕⎕

위의 해당 APL 기호가있는 비교 가능한 Python 코드 :

import operator

⎕←     ⍴    ⌿        ⍪                 ¨              ⍳                ⎕        ⎕         ⊃
print (len (reduce (operator.__add__, [map (lambda n: range (1, n+1), [input(), input()])][0])))

APL에 가능한 짧은 버전이 있는지 알고 싶습니다. 아마도 더 간단한 타이 브레이커 (여전히 8 자)가있는 다른 버전은 다음과 같습니다 ⍴(⍳⎕),⍳⎕.


인덱스 생성기가 1 또는 0에서 시작합니까?
MrZander

3

나는 누군가 전기 공학 방식으로 그것을 보지 못 했으므로 여기에 루비가 있습니다.

def please_sum(a, b)
    return (a&b !=0)? please_sum( ((a&b)<<1) , a^b ):a^b
end

조금 추악하지만 작업이 완료됩니다. 두 값은 비트 단위로 비교됩니다 AND. 공통 비트가없는 경우 다음 이진 열에 "캐리어"가 없으므로 비트 단위로 추가를 완료 할 수 있습니다 XOR. 캐리가있는 경우 캐리를 비트 단위로 추가해야합니다 XOR. 내 디지털 로직이 너무 녹슬지 않도록하기 위해 사용한 루비 스크립트가 있습니다.

100.times do
    a=rand 10
    b=rand 10
    c=please_sum(a,b)
    puts "#{a}+#{b}=#{c}"
    end

건배!



2

쉘, 52

read a
read b
(seq 1 $a;seq 1 $b)|wc|awk '{print$1}'

이것은 기본적으로 다른 문제에 대해 했던 것과 같은 대답 입니다.


비슷한 것 : xargs -n1 jot | wc -l같은 -감소 를 취하지 awk만 나는 그것을 피하는 방법을 볼 수 없습니다xargs
Ben Jackson

+/- 및 위에서 언급 한 타이 브레이커는 문자가 아니라 흥미 롭습니다.
사용자가 알 수 없음

2

기음

a,b;A(int a,int b){return a&b?A(a^b,(a&b)<<1):a^b;}
main(){scanf("%d%d",&a,&b);printf("%d\n",A(a,b));}

타이 브레이커 20 개를 세죠 ... 맞습니까?
FUZxxl

2
22 타이 브레이커 : 0 /*=., 7 (, 7 ), 7 ,, 1[0-9]
saeedn

2

기음#

스트레칭으로 가장 짧지는 않습니다.

private static int getIntFromBitArray(BitArray bitArray)
{
    int[] array = new int[1];
    bitArray.CopyTo(array, 0);
    return array[0];
}

private static BitArray getBitArrayFromInt32(Int32 a)
{
    byte[] bytes = BitConverter.GetBytes(a);
    return new BitArray(bytes);
}

static void Main(string[] args)
{
    BitArray first = getBitArrayFromInt32(int.Parse(Console.ReadLine()));
    BitArray second = getBitArrayFromInt32(int.Parse(Console.ReadLine()));
    BitArray result = new BitArray(32);

    bool carry = false;
    for (int i = 0; i < result.Length; i++)
    {
        if (first[i] && second[i] && carry)
        {
            result[i] = true;
        }
        else if (first[i] && second[i])
        {
            result[i] = false;
            carry = true;
        }
        else if (carry && (first[i] || second[i]))
        {
            result[i] = false;
            carry = true;
        }
        else
        {
            result[i] = carry || first[i] || second[i];
            carry = false;
        }
    }
    Console.WriteLine(getIntFromBitArray(result));
}

지쳤어, 매튜
캐리 스와 틀 랜드

2

J, 15 7 자, 1 타이 브레이커, 불완전한 프로그램

이것은 나의 J 시도입니다. 아직 프로그램을 작성하는 방법을 찾지 못했기 때문에 전체 프로그램이 아닙니다. p임의의 수의 숫자를 추가하는 데 사용할 수있는 함수를 얻으려면 해당 줄을 스크립트에 넣으십시오 . 모나드이며 추가 할 숫자 목록 (예 :)을 가져옵니다 p 1 2 3 4.

p=:#@#~

아이디어는 매우 간단합니다. 이 함수는 무의미한 스타일로 작성되었습니다. 다음은 뾰족한 정의입니다.

p=:3 :'##~y'

오른쪽에서 왼쪽으로 읽습니다. 암묵적 버전에서는 @함수의 일부를 구성합니다. (수학에서 ∘와 같이 [(f∘g) (x) = f (g (x)])

  • y의 매개 변수입니다 p.
  • ~동사를 재귀 적으로 만듭니다. 일부 동사의 m경우 m~ a와 같습니다 a m a.
  • #(copy, a#b) :의 각 요소 a는 복제 된 i시간입니다. 여기서 i의 현재 요소와 동일한 색인에있는 요소 a입니다 b. 따라서 #~항목 n n시간을 복제합니다 .
  • #(count, #b) :의 요소 수를 계산합니다 b.

결론 : J는 Perl보다 끔찍하고 읽기 쉽지 않습니다 (더 끔찍하게 만듭니다)

편집

  • #대신 15-> 7 사용 i.. 네! golfscript보다 적은 문자.

더 많은 프로그램

이것은 입력을 쿼리하지만 여전히 전체 프로그램이 아닙니다 : (13 문자, 3 개의 차단기)

##~".1!:1<#a:

J는 정말 대단하지만, 믿으십시오. 문제를 해결할 때 문제의 파싱 부분을 생략 할 수는 없습니다. ;-)
JB

@JB 글쎄, 내장 함수 toJ를 사용할 수는 있지만 도메인 오류가 계속 발생합니다.
FUZxxl

2

자바 스크립트 (17 타이 문자)

eval('걢갽거걲걯걭거건갨걡갽거걲걯걭거건갨걹갽걦걵걮걣건걩걯걮갨걡갩걻걣갽걮걥걷갠걕걩걮건갸걁걲걲걡걹갨걡갩갻걦걯걲갨걩갠걩걮갠걣갩걩걦갨걩갽갽걾걾걩갩걸갮거걵걳걨갨갱갩걽갬걸갽걛걝갩갩갻걹갨걡갩갻걹갨걢갩갻걡걬걥걲건갨걸갮걬걥걮걧건걨갩갻'['split']('')['map'](function(_){return String['fromCharCode'](_['charCodeAt'](~~[])^0xac00)})['join'](''))

: P (타이 브레이커 문자 수를 줄이기 위해 "폐기 됨"입니다. 내부적으로는 b=prompt(a=prompt(y=function(a){c=new Uint8Array(a);for(i in c)if(i==~~i)x.push(1)},x=[]));y(a);y(b);alert(x.length); 입니다.)


2

기음#,

프로그램은 한 줄로 작동합니다. 가로 스크롤을 피하기 위해 여러 줄로 구분됩니다.

using C=System.Console;
class A{
static void Main(){
int a,b,x,y;
a=int.Parse(C.ReadLine());
b=int.Parse(C.ReadLine());
do{x=a&b;y=a^b;a=x<<1;b=y;}while(x>0);
C.WriteLine(y);
}}

1

클로저 (44 문자)

(pr(#(count(concat(%)(%)))#(repeat(read)0)))

편집 : 합계를 반환하는 대신 STDOUT에 인쇄하도록 수정했습니다.


+/- 및 위에서 언급 한 타이 브레이커는 문자가 아니라 흥미 롭습니다.
사용자가 알 수 없음

1

스칼라

  • 점수:
    • +-: 0
    • (). : 5 + 5 + 3 = 13

암호:

(List.fill (readInt) (1) ::: List.fill (readInt) (2)).size
  • List.fill (4) (7)은 List (7, 7, 7, 7)을 생성합니다.
  • a ::: b 2 개의리스트를 하나로 연결
  • 나머지는 분명해야합니다

1

K, 11

{#,[!x;!y]}

R 솔루션과 동일한 연결 트릭입니다. 오른쪽에서 왼쪽으로 읽기 : 두 개의 입력 변수를 열거하고 연결 한 다음 계산합니다.


1

PowerShell , 27 42 바이트, 0 +-, 4 1 보조

a +및 4 개의 2 차 저장을위한 mazzy 덕분에

$args|%{[int[]]$_*$_}|measure|select count

온라인으로 사용해보십시오! 또는 별도의 3 바이트 예쁜 표

-또는-4 바이트를 추가하여 19 바이트를 절약하십시오.

32 23 바이트, 1 0 +-, 12 5 보조

mazzy 덕분에 -9 바이트

($args|%{,$_*$_}).count

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

각 인수에 대해 n배열 요소 (구성 [n]되지만 중요하지는 않음)를 파이프 라인 으로 푸시 하고 파이프 라인으로 그룹화 한 다음 계산합니다.



1
죄송합니다. 이것은 codegolf가 아닙니다. 0 + - 3 secondries 27 바이트
mazzy

1
@mazzy 그것은 내 카운트에 의해 4이지만 그럼에도 불구하고 감사합니다 : D
Veskah

1
네 말이 맞아 감사. 0 + - 1 타이 브레이커 42 바이트 . 당신은 |fl예쁜 형식을 추가 할 수 있습니다 온라인
mazzy

1

술통 (술통 위키의 SBCS)

기본적으로 R 답변의 포트.

¿¿Ï_"Ï_!.

설명

¿¿#        Take 2 integer inputs
  Ï_"Ï_#   Generate 2 arrays the length of the integer inputs
       !.# Output the length of the stack

1

05AB1E , 2 4 바이트, 0 +/-

F>

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

이 과제를 잘못 이해하면 사과하지만 05AB1E 답변이 없다는 것에 놀랐습니다. 이 언어에서 가장 짧은 대답은 + 또는 내장 합계 함수를 사용하지 않는 것으로 나타났습니다.

설명:

 F   #Loop A many times
  >  #Increment B
     #(Implicit output)

Grimy 덕분에 -2 바이트.


1
감사! 아직 05AB1E를 처음 사용합니다.
Bismarck71


0

main(){
    int a,b;
    readf("%d %d",&a,&b);
    write((new int[a]~new int[b]).length);
}

이번에는 배열 길이를 사용

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