주석에 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이 포함되면 난수를 재생성한다'로 걸었는데, 이 코드에서 필요하신대로 제약을 거시면 됩니다!
생성되는 난수값에 최소,최대값을 제약하셔도 되고,
랜덤 생성하는 알고리즘 자체를 새로 만드셔도 되구요 ㅎㅎ
코드 그대로 복붙하시려면 텍스트 파일 따로 첨부할게요 댓글 주세요~