4673번 - 셀프 넘버
소스 첫줄에
int arr[10001] = { 0, }; // 0으로 초기화
이부분을 수정 안한상태로 실행하면 배열 메모리가 작다고 에러가 발생합니다.
그래서 int arr[10100] 이정도로 늘려서 하면 맞다고 결과가 나옵니다.
왜 배열이 작다고 나오는건지를 잘 이해가 안돼서 질문드립니다.ㅠㅠ
for (int i = 1; i <= 10000; i++)
{
num = selfnumber(i);
arr[num] = 1;
}
위 반복문에서 i가 9999일때, selfnumber(9999)는 9999+9+9+9+9 = 10035이므로 arr[10035]를 참조하게 됩니다.
궁금증이 해결됬네요 정말 감사해요 ㅎㅎ!!
댓글을 작성하려면 로그인해야 합니다.
home2895 3년 전
소스 첫줄에
int arr[10001] = { 0, }; // 0으로 초기화
이부분을 수정 안한상태로 실행하면 배열 메모리가 작다고 에러가 발생합니다.
그래서 int arr[10100] 이정도로 늘려서 하면 맞다고 결과가 나옵니다.
왜 배열이 작다고 나오는건지를 잘 이해가 안돼서 질문드립니다.ㅠㅠ