Programming Challenges 문제1 에 대한 질문입니다.
초코홀릭
1번 문제에서부터 Wrong answer라는 대답을 받았네요... ㅠ . ㅠ
제가 코딩한 전문입니다.
#include stdio.h
int Cycle(int val1, int val2);//최대 사이클 길이 구하는 함수
int main(void)
{
int val1, val2;//입력 받을 두 정수
int result;//최대 사이클 길이
printf(0 ~ 1,000,000까지 범위의 두 정수를 입력하시오.);
scanf(%d %d, &val1, &val2);
if(val1val2){
result = Cycle(val2, val1);
}
else{
result = Cycle(val1, val2);
}
printf(%d %d %d \n, val1, val2, result);
return 0;
}
int Cycle(int val1, int val2)
{
int max=0;//최대 사이클 길이
int c;//사이클 길이
int i, n;//반복용 카운트 수
for(i=val1; i=val2; i++){
n=i;
c=0;//사이클 값 초기화
while(n != 1){
c++;//사이클 길이를 센다
//짝수이면
if(n%2==0){
n = n/2;
continue;
}
//홀수이면
n = 3*n+1;
}
c++;//1을 포함하기 위해서
if(cmax){
max = c;
}
}
return max;
}
책에 나온 출력 결과는 모두 만족 하는데요.
어디에 문제가 있는지 잘 못찾겠습니다.
이 무식한 저에게 가르침을 주십시오~
-
테이
int형이 최대 크기가 몇이죠 그게 문제아닐까요?
-
마리
제 코드에서 잘못된 점이 무엇일까요?
-
로다
네, 문제에서 입력 값의 범위를 저렇게 한정 짓더라고요.
-
카제
저도 예전에 해 본적이 있긴 한데.. 입력값과 출력 값이 정확한 포맷에 맞지 않으면 그렇게 되는 경우가 있었던것 같습니다.
저기 \0 ~ 1,000,000까지 범위의 두 정수를 입력하시오.\ 를 출력하는데.. 저게 문제에도 저렇게 나와 있나용?