2 진수가 같은 숫자가 증가하는 시퀀스가 있습니다. 일련의 각 숫자에 설정된 1 비트의 수인 n을 감안할 때 일련의 n 번째 숫자를 찾으려면 알고리즘 또는 C 프로그램을 작성하십시오. n 번째 비트가 1로 설정된 n 번째 비트 번호
내가 인터넷에이 질문을 발견하고 나는 대답은 단지 생각 (((1 < < (N + 1)) - 1) & ~ 2). 그게 옳지 않아? 나는 답을 계산할 무서운 프로그램을 발견했다.답변
(1 << n+1) - 3
은 결과를 표현하는보다 간결한 방법이지만 네 표현이 정확하다고도 믿습니다.
나는 당신이 옳다고 믿습니다.
간단한 방법이 될 것입니다 비록 쓰기 : ((1 < < N) - 1) < < 1.
아니요,이 표현식은 제 거과 동일하지 않습니다. –
죄송합니다. 당신 말이 맞아요 (하나 더 있습니다). – krakover
예, 그것은 사실입니다. 우리는 3 비트가있을 때 :
1: 00000111
2: 00001011
3: 00001101 // bit 1 will be 0
4: 00001110
그렇게 대답은 비트 1 시퀀스가 시작, 어디서 문제는 지정하지 않는 것 0
그의 수식은 n = 3 인 경우 13을 얻습니다. 이것은 3 행에 나열한 번호이므로 수식이 나에게 적합합니다. krakover의 공식이 잘못되었습니다. –
@ 마틴 : 고정. – ruslik
ruslik 아니,이 경우 내 표현은 00001101을 얻을 것이다 - 그렇지 않습니까? (((1 << 4) - 1) & (11111101)) = 00001101 –
입니다 N + 1 비트, 얼마나 많은 수 매번 증가 할 것이고, 귀하의 대답은 시퀀스가 011111로 시작하고 101111로 이동한다고 가정하는 것처럼 보입니다. 그것은 생각할 0011111000 시작할 수 있고, 다음 요소는
제목은 https://groups.google.com/group/algogeeks/browse_thread/thread/5fda06c0be475c41/에서 언급 한 바와 같이 질문, "시리즈의 n 번째 번호", 그래서이 게시물의 제목 편집 1111100000.
수 ("n 번째 비트가 1로 설정된 n 번째 작은 숫자")는 질문의 출처를 실제로 유지하지 않습니다.
아니요 : 5 비트의 경우 11111이 분명히 시퀀스의 숫자이며, 확실히 0011111000보다 작습니다. 따라서 시퀀스를 시작할 수 없습니다 0011111000. –
n 비트가 1로 설정된 n 번째로 작은 정수입니다.보다 구체적으로는 부호없는 정수 여야합니다. –
질문에 "이진수가 같은 숫자가 증가하는 순서가 있습니다." 시퀀스가 가능한 가장 작은 수로 시작해야한다고 말하지는 않습니다. "Sequence S는 같은 수의 2 진 1을 가진 모든 양수로 오름차순으로 정의됩니다." – StriplingWarrior
- 1. 월 N 번째 주 N 번째 SQL
- 2. 정규식 n 번째 일치
- 3. 모든 N 번째 어린이
- 4. 텍스트의 n 번째 단어
- 5. 페이지 n 대신 n 번째 페이지 선택
- 6. 은 n 번째 자식 선택
- 7. 소수의 n 번째 숫자 찾기
- 8. 카피 바라가 - n 번째 요소
- 9. n 번째 숫자 성능 선택?
- 10. 레일 n 번째 부분 조건
- 11. Linq로 N 번째 값 얻기
- 12. n 번째 단어 이후로 내기
- 13. 배쉬 n 번째 명령 대체?
- 14. n 번째 char을 sed로 바꾸기
- 15. JQuery와 n 번째 자식 문제
- 16. 줄의 n 번째 기호로 이동
- 17. PHP에서 n 번째 주 월요일의 날짜를 찾으십니까?
- 18. 번호 n^n의 첫 번째 및 마지막 k 자리
- 19. 프로그래밍에서 우리는 8 번째 비트, 7 번째 비트, 첫 번째 비트 또는 두 번째 비트가 어떤 표준인지 알고 있습니까?
- 20. 테이블 구조가있는 jQuery의 n 번째 자식 (n + 2) 문제
- 21. 객체 지향 프로그래밍 N 번째 하위 언어
- 22. N 비트 크래킹 RSA 모듈 번호
- 23. N 비트 배열의 X * 연속 * 비트가 1로 설정 될 확률은 얼마입니까?
- 24. 이 기능을 실행하면 모든 n 번째 두 번째
- 25. n 번째 항목을 클릭 한 후 다른 n 번째 요소를 어떻게 조작합니까?
- 26. jQuery에서 N 번째 이전 형제를 선택 하시겠습니까?
- 27. 문자열에서 n 번째 요소를 모두 제거하십시오.
- 28. SelectList에서 N 번째 항목 가져 오기
- 29. n 번째 자식 선택기 jquery를 사용하여 선택
- 30. : tuple의 n 번째 요소에 대한 usort
확인을 위해 프로그램을 작성해서는 안됩니다! –
두 개의 'n'변수가 같은가요? 다른 말로하면, "각 숫자에 5 개가 있으면 5 번째 숫자를 찾으시겠습니까?"라는 질문입니다. – cdhowie
네, 맞습니다. –