주석에 k도 유리수라고 되어있는데 k는 0 또는 양수입니다~ 주석을 대충 쓰다보니 실수를 했네요 ㅋㅋㅋ

위에 정적변수로 선언된 것중에 sum이 n이고 variableCount가 k입니다. 입맛에 맞게 바꿔서 입력하시면 됩니다.


makeArray() -> 재귀 메서드. 랜덤변수 수열 만들기. 

testArray() -> 생성된 수열이 제약에 걸리지 않는지 검사한다. 




GetRandomNumber -> 유리수 범위에서 난수 생성. 나는 소수점 2자리에서 잘랐는데 소수점 자리를 더 늘릴 수 있음. 

100)/100 부분을 1000)/1000 등으로 고쳐주면 됨.


결과1

결과2



어떤 프로그램을 원하시는지 몰라서, 일단 부족한 실력이지만 해보았습니다.

아랫글에 유니티 질문을 남기셨기에 C#으로 일단 코딩했습니다! 

유니티 스크립트에 이 코드들을 넣으시려면,

random클래스나 math클래스만 적절하게 메서드이름을 바꿔주시면 됩니다. (random.NextDouble -> random.Range 등)

일단 원하시는 조건을 정확히 몰라서 대충 제약을 '원소 가운데 0이 포함되면 난수를 재생성한다'로 걸었는데, 이 코드에서 필요하신대로 제약을 거시면 됩니다! 

생성되는 난수값에 최소,최대값을 제약하셔도 되고,

랜덤 생성하는 알고리즘 자체를 새로 만드셔도 되구요 ㅎㅎ

코드 그대로 복붙하시려면 텍스트 파일 따로 첨부할게요 댓글 주세요~