WEIRD 런타임오류 질문드립니다. chaeheesung << RTE (nonzero return code) >> 이런 런타임 오류가 나오는데 런타임오류는 어떻게 잡아내는지 모르겠네요.. 코드는 오답으로 나올텐데 런타임오류가 나오니까 답답하네요 package weird; import java.util.Scanner; public class Main{ public static void main(String[] args) { int[] weird = new int[200]; //약수판별후 리턴값을 저장할 배열 Scanner testcase = new Scanner(System.in); int C = testcase.nextInt(); //테스트 케이스 C입력 for(int i=1; i<=C; i++){ //C만큼 반복 실행 Scanner natural_num = new Scanner(System.in); int Natural_num; Natural_num = natural_num.nextInt(); //자연수 입력 //입력한 자연수의 약수를 판별하고 배열에 저장을 하는데.... 배열저장값을 다른 클래스로 만든다?? weird[i-1] = Divisors(Natural_num); //weird[]가 int형이므로 대입시키는 Divisors도 int형 이어야 한다. } //배열 저장값이 1인것이 약수들의 합으로 본인이 나오는 것이다. //배열에 저장되어있는 값을 판단해서 0일 경우 weird 또는 1일 경우 not weird를 출력한다. for(int i=0; i<C; i++){ if(weird[i] == 1) System.out.println("not weird"); else System.out.println("weird"); } } private static int Divisors(int natural_num) { // TODO 자동 생성된 메소드 스텁 int natnum = natural_num; //natural_num의 대용품 int count = 0; int natural_count; //count의 대용품 int[] natural = new int[200]; //1~500,000중에서 가장 많은 약수의 갯수를 가진 숫자는 498,960이다. int num = 0; //약수들의 합조합에서 사용된 약수의 갯수 int natural_sum = 0; //natural[]의 총합, 약수들의 총합 for(int i=1; i<natural_num; i++){ if(natural_num%i==0){ natural[count] = i; count++; } } natural_count = count; //n의 약수들이 합조합으로 n이 나오는지 알아본다. for(; count>=0; count--){ //count값은 0이 되므로 count를 대체할 natural_count를 선언해줄 필요가 있다. if(natural_num - natural[count] < 0) natural_num = natural_num; else{ natural_num -= natural[count]; num++; } if(natural_num == 0) break; } //여기서부터 뭔가가 잘못됐다고하네 //약수들의 총 합을 구한다. for(int i=0; i<natural_count; i++){ natural_sum +=natural[i]; } if(natural_num==0){ //약수들의 합 조합으로 n이 나오는지 확인한다. if(natural_sum > natnum) //약수들의 총 합이 natnum(natural_num)보다 큰지 확인한다. return 1; //not weird else return 0; //weird }else return 0; //weird } } 11년 전
0개의 댓글이 있습니다. 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
chaeheesung
<< RTE (nonzero return code) >>
이런 런타임 오류가 나오는데 런타임오류는 어떻게 잡아내는지 모르겠네요..
코드는 오답으로 나올텐데 런타임오류가 나오니까 답답하네요
package weird;
import java.util.Scanner;
public class Main{
}
11년 전