파워 볼 번호를 선택하십시오!


34

Powerball 은 현재 대성공 (2016 년 1 월 11 일 현재)이 약 15 억 달러 ( USD )의 역사상 가장 큰 로또 상 이기 때문에 최근 주목을 받고있는 미국 복권입니다 .

파워 볼 선수는 69 개의 ​​하얀 공에서 5 개의 다른 숫자를 선택하고 26 개의 빨간 공에서 1 개의 "파워 볼"숫자를 선택합니다. 그들은 이길 자신의 다섯 개 하얀 공의 선택은 임의의 순서로 그려진 것과 일치하면 대성공을, 그리고 그들이 올바른 "로또"수를 선택합니다.

따라서 대박 당첨 확률은 1 in (69 choose 5)*(26 choose 1)또는 ((69*68*67*66*65)/(5*4*3*2*1))*26이며 이는 292,201,338에서 1입니다.

2016 년 1 월 9 일에 가장 최근의 그림 에서 대박을 얻은 사람은 없지만, 2016 년 1 월 13 일 오후 10시 59 분 (ET)에 다음 그림을 이길 수 있습니다.

도전

Powerball 도면을 시뮬레이트하는 프로그램 또는 함수를 작성하고 입력은받지 않고 1에서 69까지 5 개의 다른 임의의 숫자를 출력 한 다음 1에서 26까지의 1 개의 임의 "Powerball"숫자를 출력하십시오 (5 중 하나를 반복 할 수 있음) 초기 번호).

"Powerball"숫자는 항상 출력에서 ​​마지막 숫자 여야하지만 그렇지 않으면 처음 5 개의 숫자 순서는 중요하지 않습니다.

6 개의 숫자는 선택적으로 단일 후행 줄 바꿈을 사용하여 공백으로 구분하거나 줄 바꿈으로 구분 하여 decimal 로 출력해야합니다 . 쉼표, 대괄호 및 기타 문자는 출력에 허용되지 않습니다.

따라서 이것들은 유효한 결과가 될 것입니다 ( 마지막 그림 의 숫자 사용 ) :

32 16 19 57 34 13
32
16
19
57
34
13

가능한 모든 결과는 균일 한 확률로 가능해야합니다. 내장 의사 난수 생성기를 사용하고이 표준을 충족한다고 가정 할 수 있습니다.

다음은 Python 2 또는 3에서 작동하는 ungolfed 참조 구현입니다.

import random
print(' '.join(map(str, random.sample(range(1,70), 5) + [random.randint(1, 26)])))

바이트 단위의 가장 짧은 코드가 이깁니다.


나는 Powerball과 아무런 관련이 없으며 실제로 게임을 제안하지는 않습니다. 그러나 여기서 프로그램 중 하나에 의해 생성 된 숫자에서 무언가를 얻는다면, 우리는 그것에 대해 듣고 싶습니다. :디


12
누군가가 대박을 받으면 상금을 요구할 기회를 놓쳤다.
Alex A.

5 개의 숫자가 순서대로되어 있어야합니까?
Neil

@Neil ""Powerball "숫자는 항상 출력에서 ​​마지막 숫자 여야하지만 그렇지 않으면 처음 5 개의 숫자 순서는 중요하지 않습니다."
Calvin 's Hobbies

3
아무도 혼란스럽지 않지만 실제로 도전에서 정수 를 의미 합니다.
jpmc26

1
@CanadianLuke 처음 5 자리의 순서는 중요하지 않습니다. 5! = 5*4*3*2*15 가지를 정리할 수 있는 방법이 있으므로이를 고려하십시오.
Calvin 's Hobbies

답변:


29

Dyalog APL, 10 바이트

(5?69),?26

Dyadic ?는 [1, ⍵]에서 ⍺ 고유의 난수이고 monadic ?는 단일 난수입니다.

여기에서 시도 하십시오 .


0 기반 인덱싱으로 인해 1을 추가해야한다는 점을 제외하고 J에서 거의 동일합니다 1+(5?69),?26.
randomra

13

CJam, 16 바이트

69,mr5<26mr+:)S*
69,   range(69)
mr    shuffle the generated array
5<    first 5 elements
26mr  random number 0..25
+     concat to array
:)    increment each array element
S*    join with spaces

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


1
나는 :)낯선 사람의 미소가 당신을 조금 더 행복하게 만드는 것과 같이 일을 조금 더 크게 만드는 것을 좋아합니다.
Nic Hartley

1
:)복권에 당첨되면 예쁘다고 생각 합니다. +1
Arcturus

9

MATL , 10 바이트

69 5Zr26Yr

사용 최신 버전 (9.2.0) 언어 / 컴파일러를.

Matlab에서 컴파일러를 실행하면 :

>> matl
 > 69 5Zr26Yr
 > 
66
59
64
56
29
12

Octave에서 컴파일러를 실행하면 :

>> matl
 > 69 5Zr26Yr
 >
2 69 41 44 23
22

처음 다섯 숫자는 줄 바꿈이 아니라 공백으로 구분됩니다. 이는 Octave의 기본 randsample기능이 Matlab과 다르게 작동하기 때문입니다 (새로운 버전의 컴파일러에서 수정 됨). 어쨌든, 줄 바꿈과 공간은 모두 도전에 의해 허용됩니다.

편집 (2016 년 4 월 4 일) : 온라인으로 사용해보십시오!

설명

69 5Zr    % randsample(69,5), without replacement by default. Gives a 5x1 column vector
26Yr      % randi(26). Gives single number
          % implicit display

관련 Matlab 기능을 참조하십시오 : randsamplerandi.


7

루비, 33 32

p *[*1..69].sample(5),rand(26)+1

루비는 대체 방법으로 배열에서 임의의 값을 선택하는 내장 메소드 샘플을 가지고 있습니다. Parens가 필요하지 않다고 지적한 QPaysTaxes에게 감사합니다.


괄호가 필요합니까? 10을 삭제하고 p와 * 사이에 공백을 두어 바이트를 잘라낼 수 있다고 생각합니다. 지금 확인 중입니다. 편집 : 테스트 및 AFAICT 작동합니다.
Nic Hartley

하 고마워요 나는 p어느 시점에 할당 된 irb 인스턴스에서 테스트를 해왔으며 실제로 해당 버전의 구문 분석이 중단됩니다.
histocrat

6

R, 30 29 바이트

cat((s=sample)(69,5),s(26,1))

sample기능은 입력에서 간단한 무작위 샘플링을 수행합니다. 단일 정수가 첫 번째 인수로 제공되면 1부터 인수까지 샘플링이 수행됩니다. 표본 크기가 두 번째 인수입니다. 교체없이 기본 샘플링 옵션을 사용하고 있습니다.

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


c대신 에 사용하여 두 개의 전체 바이트를 절약 할 수 있습니다cat
Dean MacGregor

@DeanMacGregor 제안에 감사드립니다. 그러나 여기에 제출하려면 STDOUT에 쓰는 전체 프로그램이거나 값을 반환하는 함수 여야합니다. 이 경우 나는 전자를 선택했다. 를 사용 c하는 경우 스니 펫일 뿐이며 기본적으로 허용되지 않습니다.
Alex A.

아, 알 겠어요. 나는 열렬한 골퍼가 아니기 때문에 그것에 익숙하지 않았습니다.
Dean MacGregor

@DeanMacGregor 문제 없습니다. 어쨌든 제안에 감사드립니다. :)
Alex A.

6

파이썬 3.5, 63 바이트

from random import*
print(*sample(range(1,70),5),randint(1,26))

기본적으로 참조 구현입니다. 마지막이 아닌 인수를 표시하려면 3.5가 필요합니다.


6

옥타브, 35 32 바이트

Calvin 's Hobbies ans =는 함수를 사용할 때 정상 임을 확인했습니다 .

@()[randperm(69)(1:5),randi(26)]

Memming의 답변 과 유사 하지만 옥타브에서만 가능한 직접 인덱싱을 사용하며 5 7 바이트 더 짧아서 게시 할 가치가 있다고 생각했습니다.

randperm(69)숫자 1-69의 무작위 순열이있는 목록을 작성합니다. MATLAB에서는 불가능한 목록을 직접 색인화하여 이와 같은 처음 5 개의 숫자 만 얻을 수 (1;5)있습니다. 리스트 뒤에 randi(26)1과 26 사이의 단일 숫자가 리턴됩니다.

늙은:

disp([randperm(69)(1:5),randi(26)])

결과 목록은을 사용하여 표시됩니다 disp.


6

PowerShell v2 +, 31 27 바이트

1..69|Random -c 5;Random 27

Get-Randomv1에없는 버전 2 이상이 필요합니다 ( Get-암시적이고 -Maximum위치적임). 출력은 줄 바꿈으로 구분됩니다.

언 골프 드 :

Get-Random -InputObject (1..69) -Count 5
Get-Random -Maximum 27

Random -ma 27단 수 Random 27와 같은 -Maximum위치 0으로 정합
매트

@ 매트 감사합니다-잊어 버렸습니다.
AdmBorkBork


4

MATLAB, 40

x=randperm(69);disp([x(1:5) randi(26)])

알아. 지루한 솔루션입니다.


4

PHP, 69 바이트

<?foreach(array_rand(range(1,69),5)as$k)echo$k+1," ";echo rand(1,26);

매우 정답입니다. 1-69를 생성 한 range다음 array_rand배열에서 5 개의 임의의 키를 가져 와서 $k+1값을 에코 (0- 인덱싱) 한 다음 1-26의 임의의 정수를 에코합니다.


4

C #, 153 바이트 140 바이트

"McKay"덕분에 :

string.Join(" ",Enumerable.Range(1,69).OrderBy(e=>Guid.NewGuid()).Take(5).Concat(Enumerable.Range(1,26).OrderBy(e=>Guid.NewGuid()).Take(1)))

153 바이트 솔루션 :

string.Join(" ",Enumerable.Range(1,69).OrderBy(e=>Guid.NewGuid()).Take(5))+" "+string.Join(" ",Enumerable.Range(1,26).OrderBy(e=>Guid.NewGuid()).Take(1))

Linq를 사용한 간단한 솔루션과 GUID를 사용한 셔플 링.


1
파워 볼 번호 부분에 문자열 조인이 필요하지 않으며 파워 볼 번호에 무작위를 사용하여 대의원에 의해 주문을 캐싱하거나 더 많은 바이트를 절약 할 수 있습니다
pinkfloydx33

문자열 연결 대신 시퀀스를 연결하면 공백을 3 번 지정할 필요가 없으며 더 효율적입니다. 예string.Join(" ", ....take(5).Concat(....Take(1)))
McKay


2

Brachylog , 40 바이트

1:5e,68{I`random(I)+1=Z`Z=w,"
"w}\;25:1&

설명

Brachylog에는 임의의 숫자 (아직 ...)에 대한 기본 제공 기능이 없으므로 SWI-Prolog 술어를 사용해야합니다 random/1. 백 따옴표를 사용하여 Brachylog에 SWI-Prolog 코드를 입력 할 수 있습니다.

1:5e,                             \  § Enumerate from 1 to 5 using \ (backtrack), which
                                     § evaluates to false and thus constructs a loop

     68{                         }   § Declare sub-predicate 1 and call it with 68 as input

        I`random(I)+1=Z`             § Z is the arithmetic expression 'random(I) + 1' where
                                     § I is the input of the sub-predicate

                        Z=w,         § Evaluate Z and write it
                            "\n"w    § Write a new line

;                                    § Else (we will reach this after the 5th iteration of
                                     § the enumeration, since \ is always false)

25:1&                                § Call the sub-predicate 1 with 25 as input

2

자바 스크립트 (ES6), 106 86 84 바이트

F=(s=new Set,r=Math.random)=>s.size<5?F(s.add(r()*69+1|0)):[...s,r()*26|0+1].join` `

우리는 JavaScript에서 무작위로 무작위를 샘플링 할 수 없으므로 고유 한 값만 보유하는 Set을 만들고 5 개의 고유 한 숫자가 될 때까지 무작위로 (1-69)를 추가하고 임의의 숫자 (1-26)를 추가하여 작동합니다. 그런 다음 가입하고 모두 반환합니다.


2

엘릭서 , 83 바이트

Enum.reduce Enum.take_random(1..69,5)++[Enum.random(1..26)],fn(x,a)->"#{a} #{x}"end

IO.puts정수 배열을 사용할 때 Elixir는 정수를 문자로 해석하므로 원하는 파워 볼 숫자 대신 문자열을 출력합니다. 따라서 정수 배열을 문자열로 줄여야합니다.


2

루비, 47 43 39 바이트

puts *(1..69).to_a.sample(5),rand(26)+1

골프를 더 많이 할 수 있다고 생각하지만 일단이 코드가 얼마나 예쁜지 감탄하고 나면 그 일을 할 것입니다.

그것은 다른 모든 것과 거의 같은 방식으로 작동합니다 : 1에서 69까지의 배열을 취하고, 섞고, 처음 5를 얻고, 그다음에 1에서 26 사이의 난수를 출력하십시오.

이것을 게시하기 전에 몇 가지 반복을 거쳤습니다.

puts (1..69).to_a.shuffle.first(5).join(' ')+" #{rand(26)+1}"  #61
puts (1..69).to_a.shuffle[0..5].join(' ')+" #{rand(26)+1}"     #58
puts (1..69).to_a.shuffle[0..5].join('<newline>'),rand(26)+1   #52
puts *('1'..'69').to_a.shuffle[0..5],rand(26)+1                #47
puts *('1'..'69').to_a.sample(5),rand(26)+1                    #43

(여기서 <newline>실제 줄 바꿈으로 바))

편집 : 으악, 기존의 루비 답변을 보지 못했습니다. 나는 넘어져서 sample내 대답을 편집하기 위해 아래로 스크롤했지만, 나는 그것을 보았습니다 ... 오 잘. 내 최종 점수는 43 바이트이지만, 내가 얼마나 잘 할 수 있는지 계속해서 골프를칩니다.


2

Mathematica, 64 바이트

StringRiffle@Append[Range@69~RandomSample~5,RandomInteger@25+1]&

아주 간단합니다.


출력에는 중괄호와 쉼표가 있습니다.
Charles

-1 위의 이유로 유효하지
CalculatorFeline

StringJoin=""<>##&
CalculatorFeline

@CatsAreFluffy 이번에는 실제로 수정되었습니다. 방금 내 기능을 섞어 놓았습니다.
LegionMammal978

Range / RandomSample 만 사용하고 RandomInteger를 사용하는 대신 두 목록 위에 옮길 경우 단축 할 수 있다고 생각합니다. RandomSample [Range [# 1], # 2] & @@ {{69,5}, {26,1}}]
Xanderhall

1

펄 5, 59 바이트

{say for(sort{-1+2*int rand 2}1..69)[0..5];say$==1+rand 25}

서브 루틴입니다. 다음과 같이 사용하십시오.

perl -M5.010 -e'sub f{...}f'

-E대신 사용할 수 있습니다-M5.010 -e
andlrc

당신은 대체 할 수 질수 -1+2*int rand 2으로 rand>.5?1:-1?
andlrc

그리고 당신은 대체하여 다른 몇 가지를 저장할 수 안 ;say$==,$==
andlrc

@ dev-null 감사합니다! 는 -M5.010내가 그것을 축약 귀찮게하지 않았다 때문에 어쨌든 계산하지 않습니다. 다른 쉼표 대신 쉼표를 시도했지만 say작동하지 않았다고 생각합니다. 그러나 새로운 정렬 규칙은 좋은 생각입니다. 나는 기회가있을 때 그것을 테스트하고 편집 할 것이다.
msh210

1

PHP, 65 바이트

<?=join(' ',array_rand(array_flip(range(1,69)),5))." ".rand()%26;

이 페이지의 다른 PHP 답변 덕분입니다. 나는 스스로 프로그램을 작성했으며 Samsquanch가 작성한 것과 똑같은 대답으로 밝혀졌으며 몇 바이트를 절약하기 위해 한 단계 더 나아가 야했습니다.

누구든지 여기에 5 바이트 미만의 배열을 다른 배열에 추가하는 방법을 알아낼 수 있다면 파워 볼 번호에 참여하는 데 시간이 걸리므로 크게 감사하겠습니다. 내가 생각해 낼 수있는 최선의 방법은 after array_randand before join일 것 +[5=>rand()%25]입니다.

<?=                                                              // This represents an inline 'echo' statement
                                  range(1,69)                    // Get an array of all numbers from 1 to 69 inclusive
                       array_flip(           )                   // Swap the keys and values.
            array_rand(                       ,5)                // Get a random subset of five keys.
   join(' ',                                     ).rand()%26     // Concatenate the array with spaces, along with the powerball number

명령 행을 통해 실행하십시오. 견본:

C:\(filepath)>php powerball.php

산출:

 12 24 33 67 69 4

1

PARI / GP, 71 70 바이트

apply(n->print(n),numtoperm(69,random(69!))[1..5]);print(random(26)+1)

[1..69]의 임의 순열을 생성 한 다음 처음 5를 취합니다.

불행히도 이것은 비효율적 인 무작위성 사용자로, 정보 이론적 이론적 3.5에 비해 평균 87 바이트의 엔트로피를 소비합니다. 이는 주로 첫 5 개의 멤버 대신 전체 순열이 생성되고 퍼머가 정렬되기 때문입니다 (lg 5! = ~ 7 비트 손실). 또한 random산술 코딩을 사용하는 대신 거부 전략을 사용합니다. PARI는 Brent의 xorgen을 사용하기 때문에보다 복잡한 전략의 오버 헤드가 그다지 가치가 없을 정도로 빠릅니다.

현재 (2.8.0) 버전의 gp에서는 작동하지 않는 세 가지 '명백한'변경 사항이 있습니다. random그리고는 print변수에 저장 될 수 있고, print오히려 익명 통해보다 직접 호출 할 수있는 ->기능 :

r=random;apply(p=print,numtoperm(69,r(69!))[1..5]);p(r(26)+1)

이것들은 함께 9 바이트를 절약합니다. 불행히도 두 함수는 모두 인수없이 유효하므로 저장되지 않고 즉시 평가되므로 원하는 출력을 계산하지 않습니다.


0

인텔 x86 머신 코드, 85 바이트

¿I ±‰ø1Ò»E ÷óB‰Ðè+ ‰þÑç÷ƒÇþÉ„Éuâ‰ø1Ò» ÷óB‰Ðè
 0ä͸ ͱëÆÔ
00†Äˆã´ÍˆØÍ° ÍÃ

때로는 같은 숫자가 인쇄되는 경우가 있습니다. 키를 눌러 다시 시도하십시오.

다음과 같이 컴파일하십시오.

nasm file.asm -o file.bin

vm에 마운트하려면 플로피 크기 (끝에 0을 추가)에 맞추십시오 (운영 체제가 필요하지 않음).

분해 :

BITS 16
ORG 0x7c00

mov di,73 ;starting seed
mov cl,5 ;we need five numbers

loop:

mov ax,di

xor dx,dx
mov bx,69
div bx
inc dx
mov ax,dx

call print_rnd_number

mov si,di
shl di,1
add di,si
add di,7

dec cl

test cl,cl
jne loop

mov ax,di

xor dx,dx
mov bx,26
div bx
inc dx
mov ax,dx

call print_rnd_number

xor ah,ah
int 0x16
mov ax,0x0002
int 0x10
mov cl,5
jmp loop

print_rnd_number:
aam
add ax,0x3030
xchg al,ah
mov bl,ah
mov ah,0x0E
int 0x10
mov al,bl
int 0x10
mov al,' '
int 0x10
ret

6
프로그래밍 퍼즐 및 코드 골프에 오신 것을 환영합니다! 기계 코드를 보는 것은 항상 인상적이지만 반복되는 숫자가 인쇄되는 경우 제출이 유효하지 않은 것 같습니다.
Dennis

1
예, 그러나 나는 단지 이것을 공유하고 싶었습니다 :)
ByteBit

2
이해하지만 최근에 이에 대해 논의 했으며 커뮤니티의 합의는 잘못된 답변을 수정하거나 제거해야한다는 것입니다.
Dennis

당신이 고치면 난 undownvote거야; 핑 좀 해주세요
lirtosiast

0

C, 142 바이트

i,x[6],n;main(j){for(srand(time(0));i<6;n-i?0:printf("%d ",x[i]),i++)for(x[n=j=i]=(69-i/5*43)*(rand()/2147483647.)+1;i<6&&j--;)i-=x[i]==x[j];}

더 많은 골프 기회가있을 것 같은 느낌으로이 솔루션에 크게 만족하지 않습니다. 내일 신선한 눈으로 다시 볼게요. 여기에서 시도 하십시오 .


0

스위프트, 165 바이트

import UIKit;var a=[Int]();for i in 0...5{func z()->Int{return Int(arc4random_uniform(i<5 ?68:25)+1)};var n=z();while i<5&&a.contains(n){n=z()};a.append(n);print(n)}

Xcode Playground에서 빠르게 실행할 수 있습니다.

편집 : 현재의 문제는 arc4random_uniform이 어떻게 든 같은 수를 계속 유지하면 이론적으로 while 루프에서 영원히 실행될 수 있다는 것입니다. 상당한 시간 동안 이런 일이 일어날 확률은 아마도 Powerball을 이길 확률보다 더 낫습니다.


중복 된 값이 없음을 어떻게 보장합니까?
supercat

@ supercat, 이전에는 없었지만 지금은 가능합니다.
timgcarlson

0

펄 6 ,  32   31 바이트

# space is necessary so that the parens denote a list
# rather than being part of the call to `put`
put (pick(5,1..69),(1..26).pick) # 32 bytes
# 25 35 57 67 62 24␤

문자열을 반환하는 함수로 put␠바꾸면 3 ( {~ }) 만 추가하면서 4 바이트 ( )를 제거 할 수 있습니다

{~(pick(5,1..69),(1..26).pick)} # 31 bytes

용법:

say {...}().perl; # use .perl to prove it returns a string
# "25 35 57 67 62 24"

함수가 값 목록을 반환하도록 허용 된 경우 다음도 작동합니다.

(그렇지 않으면 위와 같지만 안에 있음 { })

  • 단일 플랫 목록을 반환하는 함수

    {|pick(5,1..69),(1..26).pick} # 29 bytes
    # (25,35,57,67,62,24)
  • 하위 목록에서 처음 5 개의 숫자가있는 목록을 반환하는 함수

    {pick(5,1..69),(1..26).pick} # 28 bytes
    # ((25,35,57,67,62),24)
  • 하위 목록에서 처음 5 개와 다른 하위 목록에서 Powerball을 포함하는 목록을 반환하는 함수

    {pick(5,1..69),pick 1,1..26} # 28 bytes
    # ((25,35,57,67,62),(24,))

0

정말 35 바이트

골프 언어로 답을 구하려는 첫 번째 시도입니다.

필요 이상으로 느낀다.
반복은 W 로 제거 될 수 있지만 온라인 인터프리터에서 중단 된 것으로 보이며 테스트되지 않은 코드를 게시하고 싶지 않습니다.

너무 나쁜 { 목록에서 작동하지 않습니다.

암호:

:70:1xi J{. J{. J{. J{. J{.:26:Ju.

육각 덤프 :

3a37303a317869204a7b2e204a7b2e204a7b2e204a7b2e204a7b2e3a32363a4a752e7f

설명:

:70:1x                       # Push a list of the numbers 1-69
i                            # Explode list
 J{.                         # rotate stack random(len(stack)) times and pop/print
 J{. J{. J{. J{.             # same thing 4 more times
:26:Ju.                      # print random number in 1-26
                             # (7F) unprintable, terminate without explicit printing

온라인 통역사


0

루아, 96 ​​바이트

테이블 내부에 값 table[value]=truthy/falsy이 있는지 여부를 확인할 수 있도록 테이블에 값을 넣어 테이블을 세트로 사용하는 간단한 솔루션 입니다.

테이블의 첫 번째 값을 설정해야하기 때문에 5 바이트가 손실됩니다. 그렇지 않으면 while(o[n])루프 내부로 들어 가지 않고 n임의 함수를 사용하기 전에 단순히 출력 합니다. Lua는 1 기반 테이블을 사용하므로 첫 번째 값을 셀에 강제로 넣어야 [0]합니다 1. 그렇지 않으면을 출력 할 수 없습니다 .

m,n,o=math.random,0,{[0]=0}for i=1,5 do while(o[n])do n=m(69)end o[n]=0 print(n)end print(m(26))

언 골프 드 :

m,n,o=math.random,0,{[0]=0}
for i=1,5
do
  while(o[n])
  do
    n=m(69)
  end
  o[n]=0
  print(n)
end
print(m(26))

0

C ++, 252 바이트

골프 :

#include<iostream>
#include <random>

int main(){std::random_device rd;std::mt19937 gen(rd());std::uniform_int_distribution<> dis(1,69);for(int c=0;c<=5;c++){std::cout<<dis(gen)<<" ";}int x=dis(gen);while(x>26||x<1){x=dis(gen);}std::cout<<x;return 0;}

언 골프 드 :

#include<iostream>
#include <random>

int main()
{
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<> dis(1, 69);
    for(int c = 0; c <= 5; c++){
        std::cout<<dis(gen)<<" ";
    }
    int x = dis(gen);
    while (x > 26 || x < 1){
        x = dis(gen);
    }
    std::cout<<x;
    return 0;
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.