No older revisions available
No older revisions available
~cpp
#include <stdio.h>
int cycle_length(int n); // cycle_length를 구하는 함수
void main()
{
int i_num, j_num; // 입력되는 두 정수
int max = 0; // 최대값을 0으로 잡는다
scanf("%d %d", &i_num, &j_num); // 두 정수를 받는다
for ( ;i_num<j_num;i_num++ ) // 두 정수 사이의 정수의 cycle_length값중에
// 최대값을 구한다
max = max<cycle_length(i_num)?cycle_length(i_num):max;
printf("%d\n", max); // 최대값 출력
}
int cycle_length(int n)
{
int count = 1; // 카운터
while ( n!=1 ) {
if ( n%2!=0 )
n = n*3+1;
else n /= 2;
count++;
}
return count;
}