문제

나는 2-10 범위의 3 자리 숫자를 포함하는 2 개의 임의의 행렬 세트를 생성해야합니다.

그렇게

매트릭스 1 : 994,878,129,121

매트릭스 2 : 272,794,378,212

두 행렬의 숫자는 100보다 크고 999보다 작아야합니다.

하지만

두 행렬의 평균은 1 : 2 또는 2 : 3의 비율이어야합니다.

내 수학 기술은 일종의 제한적이므로 어떤 아이디어가 어떻게 이런 일을해야합니까?

도움이 되었습니까?

해결책

이를 위해서는 각 목록에 몇 개의 숫자가 있는지 알아야합니다. 나는 당신의 예에서 각각에 4 개의 숫자가 있다고 가정합니다.

  1. 첫 번째 목록을 4 개의 랜덤 숫자로 채 웁니다.
  2. 첫 번째 목록의 평균을 계산하십시오.
  3. 평균에 2 또는 3/2 (사용자 입력)를 곱하십시오. 이것은 두 번째 목록의 필요한 평균입니다.
  4. 4를 곱하십시오. 이것은 두 번째 목록의 총계입니다.
  5. 3 개의 랜덤 숫자를 생성합니다.
  6. 4 단계의 총계에서 5 단계에서 세 숫자의 총계를 빼십시오. 이것은 두 번째 목록의 네 번째 숫자입니다.
  7. 6 단계의 숫자가 올바른 범위에 있지 않은 경우 5 단계에서 다시 시작하십시오.

두 번째 목록의 마지막 숫자는 목록의 다른 값을 기반으로하기 때문에 진정으로 무작위가 아닙니다.

다른 팁

당신은 임의의 숫자 세트, s1을 가지고 있습니다.

s1= [ random.randint(100,999) for i in range(n) ]

다른 세트의 경우 S2의 경우 다른 범위가 다른 범위를 가져야한다는 의미입니다. 다른 범위에서 무작위로 값을 선택하거나 임의 값을 필터링하여 다른 범위를 얻습니다.

얼마나 많은지 상관 없습니다 무작위의 당신이 선택한 숫자는 100에서 999 범위에서 선택하고 평균은 항상 약 550입니다. 다른 값이 될 확률은 평균의 어느 쪽이든 정규 분포 확률입니다.

동일한 범위에서 선택한 값과 근본적으로 다른 평균을 가질 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top