반복이 안되는거 같습니다....
주리
질문 제목 : 반복문이 안되는거 같습니다...질문 요약 :반복이 안됩니다...질문 내용 :코드 컴파일해서 돌려보면 반복이 안되는거 같은데요.. 왜그럴까요..
아래는 문제고 제일 밑에는 제가 짠 코드가 있어요.. 보고 뭐가 잘못됐는지 알려주시면 감사하겠습니다 (__)
-----------------------------------------------------------------------------------어떤 수열을 만들어내는 다음과 같은 알고리즘을 생각해보자. 어떤 정수 n에서 시작해 n이 짝수면 2로 나누고,홀수면 3을 곱한 다음 1을 더한다. 이렇게 해서 새로 만들어진 숫자를 n으로 놓고 n=1이 될 때까지 같은작업을 계속 반복한다.예를 들어, n=22이면 다음과 같은 수열이 만들어진다.22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1아직 증명되진 않았지만 모든 정수 n에 대해 이 알고리즘을 적용시키면 결국에는 n=1에 이르게 되는 것으로&n것으로추정된다. 그리고 이 가설은 적어도 1,000,000까지의 정수에 대해서는 참이다.n이라는 값이 입력되었을 때 1이 나올 때까지 만들어진 수의 개수(1 포함)를 n의 사이클 길이(cycle-length)라고 한다. 위에 있는 수열을 예로 들면 22의 사이클 길이는 16이다.i와 j라는 두 개의 수가 주어졌을 때 i와 j 사이의 모든 수(i, j 포함)에 대해 최대 사이클 길이를 구하라.input입력은 일련의 정수 쌍 i와 j로 구성되며 한 줄에 한 쌍의 수가 입력된다. 두 정수는 1,000,000보다 작고0보다 크다.output출력 형식은 sample output과 같은 형식을 따릅니다.입력된 정수쌍 i와 j 사이의 모든 수(i, j 포함)의 사이클 길이를 구하고 그 중 최대 사이클 길이를 출력하라.출력이 끝나면 개행문자를 출력합니다.sample input1 10sample output20-----------------------------------------------------------------------------------#include stdio.h#include stdlib.h#define max 100;int main(){ int a,b,i,n=0,k; int count1=0, count2=0; scanf(%d %d,&a,&b); for(i=a,count1=0;i=b;i++) { k=i; while(n!=1) { if(k%2==0) k=k/2; else if(k%2!=0) k=k*3+1; printf(%d \n,k); n=k; count1=count1+1; if(count1=count2) count2=count1; else if(count1count2) count2=count2; } } printf(%d\n,count2); system(pause); return 0;}