요소가 0 또는 1 인 배열의 모든 변형을 얻는 방법

수학 요새

배열 요소의 가능한 값에 대해 do 루프를 작성하겠습니다. 더 구체적으로 나는 배열을 가지고 있는데, A(:)크기가 n이고 배열의 모든 요소는 또는 일 A수 있습니다 . 요소의 가능한 모든 값을 반복하고 싶습니다 . 물론 간단한 방법은01A

do A(1)=0, 1
 do A(2)=0, 1
  ....
   ! do something with array A

 end do 
end do 

하지만 내 배열의 크기가 크고이 방법은 그다지 적합하지 않습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?

알렉산더 보그 트

이것은 바이너리 전용이므로이 작업에 정수를 잘못 사용하지 않는 이유는 무엇입니까? 각 조합에 대해 정수를 1 씩 증가시키고 btest다음을 사용하여 해당 비트를 읽습니다 .

program test
  implicit none
  integer, parameter  :: n = 3
  integer             :: i
  integer             :: A(n)
  integer             :: idx(n) = [(i, i=0,n-1)] ! bit positions start at zero

  ! Use a loop to increment the integer
  do i=0,2**n-1
    ! Get the bits at the lowest positions and map true to "1" and false to "0"
    A = merge( 1, 0, btest( i, idx ) )
    print *,A
  enddo
end program

이 간단한 코드는 A모든 조합 (한 번에 하나씩)으로 채우고 연속적으로 인쇄합니다.

./a.out 
           0           0           0
           1           0           0
           0           1           0
           1           1           0
           0           0           1
           1           0           1
           0           1           1
           1           1           1

Fortran에는 부호있는 정수만 있으므로 여기서는 가장 높은 비트를 사용할 수 없습니다. 2^(32-1)여기에 표시된대로 0부터 시작하면 (기본값) 4 바이트 정수에 대한 조합 이 가능합니다 (배열 길이 최대 31).

전체 범위를 얻으려면 다음 방법으로 루프를 수행하십시오.

  do i=-huge(1)-1,huge(1)

이것은 2^32길이가 32 인 배열에 대해 완전히 다른 변형을 제공합니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

배열 요소의 모든 숫자가 0 또는 1인지 확인 [c ++]

배열의 모든 요소가 Matlab에서 1 또는 -1인지 확인하는 방법

배열의 모든 요소에 대해 부울을 0 또는 1로 변환

입력 배열 요소 jquery의 모든 값을 얻는 방법

Python numpy 배열 : 배열의 모든 요소가 0 또는 2인지 확인하십시오.

배열 배열에서 요소의 모든 순열을 얻는 방법

배열 B에서 배열 A의 모든 요소에 대해 가장 가까운 이웃을 얻는 방법

문자열의 모든 1 자리 또는 인접한 2 자리 조합을 얻는 방법

배열의 모든 요소에 선행 0을 추가하는 방법은 무엇입니까?

Kotlin - 배열 목록 - T 유형의 모든 요소가 2개 미만인 경우 제거하는 방법

is_friend 열 값이 0 1인 모든 사용자와 함께 내 친구 목록을 얻는 방법

요소가 0 개 또는 1 개인 특정 길이의 모든 벡터 생성

모든 객체 요소의 배열을 얻는 방법은 무엇입니까?

배열 범위의 모든 요소를 "또는"하는 방법

하나의 (int) 배열 요소의 가능한 모든 조합을 얻는 방법은 무엇입니까?

td의 모든 형제 요소를 배열로 가져 오는 방법

1 배열에 모든 답변을 추가하는 방법

배열의 모든 요소가 C 언어의 인덱스인 100개의 정수 배열을 만드는 방법

itertools 또는 random을 사용하지 않고 재귀 적으로 0과 1의 가변 양의 모든 순열을 찾는 방법은 무엇입니까?

배열의 모든 4개 요소의 합을 찾는 방법

주어진 요소의 모든 조합으로 배열을 얻는 가장 우아한 방법

Laravel eloquent 테이블이 자신에게 조인 됨, 모든 값을 가진 1 개의 배열을 얻는 방법

한 배열에 다른 배열의 모든 요소가 포함되어 있는지 확인하는 방법

numpy 배열의 모든 요소가 다른 numpy 배열에 있는지 확인하는 방법

배열 내부의 모든 요소 합계를 얻는 방법

if 문 js에서 배열의 모든 요소를 얻는 방법

Java에서 2d 배열을 사용하여 정방 행렬의 행에 모두 0 또는 1이 있는지 확인하는 방법

모든 배열의 맨 끝과 끝에 0을 추가하는 방법

JAVA에서 0 및 1 비트에 대해 가능한 모든 순열을 얻는 방법

TOP 리스트

  1. 1

    C # 16 진수 값 0x12는 잘못된 문자입니다.

  2. 2

    Matlab의 반복 Sortino 비율

  3. 3

    Python의 csv 파일에서 첫 번째 열 삭제

  4. 4

    개체 참조가 개체의 인스턴스로 설정되지 않았습니까? (예외 오류 ~ ASP.NET MVC)

  5. 5

    atob은 인코딩 된 base64 문자열을 디코딩하지 않습니다.

  6. 6

    EventEmitter <string>의 컨텍스트 'this'가 Observable <string> 유형의 'this'메서드에 할당되지 않았습니다.

  7. 7

    병합 셀을 사용하여 워크 시트의 데이터 필터링

  8. 8

    PhpStorm 중단 점에서 변수 값을 볼 수 없습니다.

  9. 9

    jQuery에서 이벤트 핸들러를 제거하는 가장 좋은 방법은 무엇입니까?

  10. 10

    `@ Transactional`이 있음에도 불구하고 이러한 데이터베이스 수정 사항이 롤백되지 않는 이유는 무엇입니까?

  11. 11

    ssh를 사용하여 원격에서 로컬로 파일 복사

  12. 12

    종속 사용자 정의 Lightning 선택 목록 Level2 및 Level3을 설정한 다음 Lightning 구성 요소에서 Level2를 재설정하지만 Level2 캐시 데이터가 저장됨

  13. 13

    2 개의 이미지를 단일 평면 이미지로 결합

  14. 14

    팝업처럼 위젯을 표시하는 방법

  15. 15

    [해결] 쿠키 설정 SameSite = Chrome / JSP, JAVASCRIPT에서 작동하지 않습니다.

  16. 16

    버튼 클릭을 기반으로 특정 CSS 클래스를 추가하는 방법은 무엇입니까?

  17. 17

    React 구성 요소가 자동으로 초기 상태로 다시 렌더링됩니다.

  18. 18

    연결된 서버 쿼리는 작동하지만 동일한 OPENQUERY는 "sys.servers에서 서버 'SERVER'를 찾을 수 없습니다.

  19. 19

    파일 2의 파일 1에서 동일한 줄을 조건으로 바꿉니다.

  20. 20

    아이디어 Intellij : 종속성 org.json : json : 20180813을 찾을 수 없음, maven에서 org.json 라이브러리를 가져올 수 없음

  21. 21

    상황에 맞는 메뉴 색상

뜨겁다태그

보관