변경이력

돌아가기
4 17개 문자 추가

2016/12/22 13:00

길가의풀

```{.java} //자연수 받아서 그이하의 완전수 출력 public class NaturalNumber { static ArrayList<Integer> pNo = new ArrayList<Integer>(); public static void main(String[] args) { Scanner sc= new Scanner(System.in); System.out.println("숫자를 입력하세요"); int mynumber = sc.nextInt(); //1000 이하의 자연수 입력 for(int naturalNumber=1;naturalNumber<mynumber;naturalNumber++) cc(naturalNumber); //완전수 출력 System.out.print("완전수: "); for (int s = 0; s < pNo.size(); s++) { System.out.print(pNo.get(s) + " "); } } // 약수 구하기 public static void cc(int naturalNumber) { ArrayList<Integer> cc = new ArrayList<Integer>(); int i = 0; while (naturalNumber != i) { i++; if (naturalNumber % i == 0) { cc.add(i); } } check(naturalNumber, cc); } // 완전수 확인 public static void check(int naturalNumber, ArrayList<Integer> cc) { int sum = 0; for (int i = 0; i < cc.size(); i++) { sum += cc.get(i); } if ((sum - naturalNumber) == naturalNumber) { pNo.add((sum - naturalNumber)); } } } ``` 자바 배운지 얼마 안되서 이걸로 해봤는데 5번째 완전수 부턴 이방식으로는 콘솔에선 안나오더라구요!
```{.java} //자연수 받아서 그이하의 완전수 출력 public class NaturalNumber { static ArrayList<Integer> pNo = new ArrayList<Integer>(); public static void main(String[] args) { Scanner sc= new Scanner(System.in); System.out.println("숫자를 입력하세요"); int mynumber = sc.nextInt(); //1000 이하의 자연수 입력 for(int naturalNumber=1;naturalNumber<mynumber;naturalNumber++) cc(naturalNumber); //완전수 출력 System.out.print("완전수: "); for (int s = 0; s < pNo.size(); s++) { System.out.print(pNo.get(s) + " "); } } // 약수 구하기 public static void cc(int naturalNumber) { ArrayList<Integer> cc = new ArrayList<Integer>(); int i = 0; while (naturalNumber != i) { i++; if (naturalNumber % i == 0) { cc.add(i); } } check(naturalNumber, cc); } // 완전수 확인 public static void check(int naturalNumber, ArrayList<Integer> cc) { int sum = 0; for (int i = 0; i < cc.size(); i++) { sum += cc.get(i); } if ((sum - naturalNumber) == naturalNumber) { pNo.add((sum - naturalNumber)); } } } ``` 자바 배운지 얼마 안되서 이걸로 해봤는데 5번째 완전수 부턴 이방식으로는 콘솔에선 안나오더라구요!
3 2개 문자 추가 70개 문자 삭제

2016/12/22 07:14

손 재형

2 21개 문자 추가

2016/12/22 07:13

손 재형

1 Original

2016/12/22 07:12

손 재형

코딩도장

코딩도장은 프로그래밍 문제풀이를 통해서 코딩 실력을 수련(Practice)하는 곳입니다.