함수 주어 rand7
1~7 범위의 균일 한 랜덤 정수를 생성하는 기능 물품 rand10
(10)까지의 범위에서 균일 한 임의의 정수를 생성한다.
시스템의 사용하지 마십시오 Math.random()
.
예 1 :
입력 : 1
출력 : [7]
예 2 :
입력 : 2
출력 : [8,4]
예 3 :
입력 : 3 출력 : [8,1,10]
사고 : 질문의 의미하는 rand7으로, 비교적 간단 ()을 달성하는 rand10 (). 생산 rand7는 () () 우리는이 희망을 1-7 모든 정수, rand10을 모든 정수 1-10 것을. 우리는 (), rand7 한 번 호출하면 한 가지, 분명
우리는 8,9,10 세 자리 숫자를 생성 할 수 없습니다. 그래서 분명히 우리는 적어도 두 번 호출해야합니다. 전화를 2 번 생성됩니다 숫자의 범위는하지 1-14. (또한보다 곱셈) 1-49 우리는이 시간에 41-49. 그래서 폐기 할 수 있다면 것을 참고 1-49입니다
우리가이 1-40하고 생성 할 수 있습니다 균일 한 임의의 대상이 요구 사항. 피사체 출력에서 1-40 전이를 생성하는 데 필요한 경우에 따라서,이 생성 된 난수 그렇지 않음 10 더한 = 0 내지 10, 40 % 이후 나머지 복용이다.
클래스 해결책 : DEF rand10 (자기) "" " : RTYPE : INT " "" 랜드 = 41 동안 랜드> = 41 : 랜드 = (rand7 () - 1) * 7 + rand7 () 리턴 랜드 10 % +1