으음...어느게 틀린걸까요 ㅠㅠ

YooJaeHyo Reply 9 years 32 weeks ago
4 5 와같은 간단한 경우의수는 잘 나오는 반면 6 9의 경우는 0이 뜨더군요.... 저는일단 B=기존 주어진숫자 F=그 다음자리 숫자 로 해서 S,T를 활용해 그다음자리 숫자를 구하는 방식을 반복하되, B에 처음숫자가 오고, 그 다음자리가 없도록 이전 T와 S가 0일때만 종료되도록 했습니다. 0이 뜨는 경우의수는 F에 처음자리 숫자가 온다 하더라도 그다음자리 숫자가 잇는, 즉 S와 T가 0이 아닐때 가 같은값으로 두번이상 반복될때 0이되도록 하였습니다. 위의 내용에서 뭔가 틀린건가요?? 아니면 제가 뭔가 빠뜨린 걸까요..ㅠㅠ 머리가 안좋아서 더이상은 봐도 모르겠습니다 ㅠ
pichulia Reply 9 years 32 weeks ago
한글이 뭔소린지 몰라서 소스코드를 봤습니닼ㅋㅋㅋ 문제없는 코드인거같은데 하나 걸리는 점이 있다면...if(BF>9){T=T+1;~~ 이러고있는데...T=(T+1)%10;으로 바뀌어야할거같네요.. 뭐 폰이라서 테스트는 못해봤습니다만.. 그리고 n=1일때 값이 잘 나오는지도 체크해보세요. 지금은 잘 나오는거같지만요..
YooJaeHyo Reply 9 years 32 weeks ago
ㅋㅋㅋ 제가 국어적으로 어떻게 설명할지 몰라서 당황해서 쓰다보니 ㅋㅋㅋㅋ 음 가르쳐주신 부분은 왜 고치는진 알겟는데 그리해도 6 9 를 입력햇을때 0이 출력되더군요... 왜이런지...음..
YooJaeHyo Reply 9 years 32 weeks ago
4 4 할시 102564도 안나오군요.. 하
pichulia Reply 9 years 32 weeks ago
1. BS가 초기화가 안되있네요. BS를 적당한 값으로 초기화시켜줘야 합니다. 2. BT != 0 대신 BT != ?? 가 들어가야할거 같네요.. 저 ??에 들어갈 값이 뭔지는..음..4 4 넣어놓고 printf("%d %d %d %d %d\n",B,F,S,T,y); 로 값들을 확인해보시길ㅋㅋㅋ
pichulia Reply 9 years 32 weeks ago
크리티컬한 오류 몇군데를 더 집어주자면... 1.for(S=Length[x];S>=0;--S){ 여기서 x가 아니라 F가 들어가야할거같네요 2. R[c][x] 에 값을 넣는 타이밍이 이상합니다. 3.반복문 들어가기 전에 BS=0으로 초기화하는거 잊지마시고, 방법마다 차이는 있겠지만...BT는 0이 아닌 -1같은걸로 초기화하는게 좋을겁니다...
YooJaeHyo Reply 9 years 32 weeks ago
허헣... Output limit exceed는 무슨 문제인건가요...ㅠ
pichulia Reply 9 years 32 weeks ago
현재 코드는 8 5 가 들어오면 무한루프를 돌게 되있습니다. 더불어 2 4, 2 5를 넣엏을 때 결과값이 제대로 안나오네용
YooJaeHyo Reply 9 years 32 weeks ago
아 정말 감사합니다 ㅜ 규칙성으로만 문제를 푼거같아서 나중에 다시 보면서 혼자 공부해야겠어요. ㅠㅠ 덕분에 문제를 풀었습니다. 고맙습니다!