~cpp //1. 3n+1문제 [[[[AOI스터디]]]] #include<iostream.h> int check(int n); void main() { int n1; //입력받는 수1 int n2; //입력받는 수2 int max=0; //최대길이의 사이클 길이를 저장한다. cout<<"적당한 두 수를 입력하세요 ( 단.n1<n2 )"<<endl; cin>>n1; cin.get(); cin>>n2; int temp = n2; for(int i= n2-n1 ; i >=0 ; i--) { if(check(temp)>max) max = check(temp); temp--; } cout<<"숫자"<<n1<<"과"<<n2<<"사이의 최대 사이클길이는"<<max<<"입니다."<<endl; } int check(int n)//사이클의 길이를 리턴하는 함수 { int count = 1;//사이클의 길이 가진다 while(n!=1) { int temp = n%2; if(temp==0)//temp값이 짝수라면.. n = n/2; else //temp값이 홀수라면.. n = ((3*n)+1); count++; } return count; }