홈>
int getCycleLen(int n){//counts the number of iterations before n=1
int cycle_len=0;
while(n!=1){
if(n%2==0) n/=2; else n=3*n+1;
cycle_len++;
}
return cycle_len;
}
int main(){
int i,j,n;
int max_len=0,len;
i = 1; j = 1000000;//j = a million
for(n=i;n<=j;n++){
printf("%d ",n);
len = getCycleLen(n);
if(len > max_len)
max_len=len;
}
printf("%d %d %d\n",i,j,max_len);
}
우분투 16.04를 사용하고 gcc 5.4를 사용하여 컴파일하고 있습니다. 어떤 이유로 for 루프의 n이 113299 일 때 프로그램이 중단됩니다. 왜 이런 일이 발생했는지에 대한 제안이 있으십니까?
-
답변 # 1
관련 자료
- javascript - 절대로 실행되지 않는 이유는 무엇입니까?
- php - 이 방법으로 출력이되지 않는 이유는 무엇입니까?
- c++ - 왜 boost - : none을 nvcc로 컴파일하지 못합니까?
- c++ - `* this`가 서브 클래스로 해석되는 이유는 무엇입니까?
- java - 이 경우 언 박싱이 발생하는 이유는 무엇입니까?
- bash - 이 sed 편집이 oneliner를 왜 깨뜨리는가?
- 이 typescript typeguard가 작동하지 않는 이유
- excel - VBA가 왜이 코드에 "Else without If error"가 표시됩니까?
- regex - 이 부정적 예측이 작동하지 않는 이유는 무엇입니까?
- 이 GOTO가 BASIC 256에서 작동하지 않는 이유는 무엇입니까?
- python - 이 소수 알고리즘이 323에서만 실패하는 이유는 무엇입니까?
- c# - 이 정규식이 powershell에서 작동하지 않는 이유는 무엇입니까?
- java - 이 코드가 실행될 때 18을 인쇄하는 이유는 무엇입니까?
- Ruby book의이 코드가 작동하지 않는 이유는 무엇입니까?
- angular - 이 어레이가 정의되지 않은 이유와 해결 방법은 무엇입니까?
- python - 이 프로그램을 반복하고 싶습니다
- java - Tomcat 설치가 작동하지 않는 이유는 무엇입니까?
- ubuntu - phpinfo ()는 버전 74를 표시하지만 php -v는 버전 7234를 표시하는 이유는 무엇입니까?
- reactjs - 내 앱을 실행하려고 할 때 왜 docker run이 아무런 영향을 미치지 않습니까?
- python - True 루프의 의미는 무엇입니까? 코드 루프의이 부분이 전체적으로 어떻게 작동합니까?
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- vue.js - axios를 사용하여 서버에 이미지를 업로드하는 방법
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 문자열에서 특정 문자 제거
이것은 정수 오버플로입니다.
long
사용getCycleLen
에 대한 매개 변수 대신n
의 모든 값을 인쇄하면 직접 확인할 수 있습니다 당신이getCycleLen
에서 반복으로 . 숫자가 너무 커서int
에 맞지 않을 때 초과되고 음수가됩니다. 음수는 1에 수렴되지 않습니다.C에서 정수에는 특정 제한이 있습니다. 이 제한은 시스템 아키텍처에 따라 다릅니다. 그러나 기본적으로 귀하의 값은 정수에 저장된 최대 가능한 값을 초과했습니다.