문제는 두수 a,b를 입력해서 a와b 사이에 숫자를 호수일경우 3n+1을하고 짝수일 경우 n/2를 한다.
그래서 가장 큰 수를 뽑아내는 알고리즘이다.
<<<소스>>>
#include<stdio.h>
#include<stdlib.h>
void main()
{
int i;
int one,two;
int max=0;
int count=0;
int n=0;
printf("첫번째 : ");
scanf("%d",&one);
printf("두번째 : ");
scanf("%d",&two);
for(i=one;i<two;i++)
{
max=i;
count=0;
while(1)
{
if(max==1)
{
break;
}
else if(max%2==0)//짝수
{
max/=2;
}
else//홀수
{
max=3*max+1;
}
count++;
// printf("%d : %d\n",count,max);
}
if(n<=count)
{
n=count;
}
printf("%d : %d\n",i,n);
}
printf("최대 횟수 : %d\n",n);
scanf("%d",max);
}