3n+1문제 사이클 길이 구하기 질문합니다.
히메
2023.04.01
질문 제목 :3n+1문제 사이클 길이 구하기 질문합니다.질문 요약 :질문 내용 :
제가 만드려는 프로그램이 숫자를 입력받아 그것이 짝수면 2로 나누고, 홀수면 3배를 곱하고 1을 더하면서
1이 될때 까지 거쳐간 수의 개수를 구하는 프로그램입니다.(3을 입력하면, 3-10-5-16-8-4-2-1 이면 8)
그래서 이렇게 프로그램을 짜 보았습니다.
#includestdio.h
#includemath.h
int func(int a);
main()
{
int n,cye=1;
printf(사이클 길이를 확인할 숫자를 입력하십시오 :);
scanf(%d,&n);
while(1)
{
if(n=1)
break;
n=func(n);
cye++;
}
printf(%d\n,cye);
}
int func(int a)
{
double b=a/2;
if(ceil(b)==b)
a=a/2;
else
a=3*a+1;
return a;
}
그런데 이렇게 하고나니 어떤 값을 입력해도 결과가 1이나오네요,,
어디가 잘못되서 그런걸까요?