๋ฐ์ํ
https://www.acmicpc.net/problem/9506
์ฝ๋ 1(ํ๋ฆฐ ์ฝ๋)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = 0;
while(n != -1) {
n = scan.nextInt();
int sum = 0;
for(int i=1; i<=n/2; i++) {
if(n%i == 0) {
sum += i;
}
if(sum == n) {
System.out.print(n + " = ");
for(int j=1; j<=n/2; j++) {
if(j == n/2) {
System.out.print(j);
} else if(n%j == 0){
System.out.print(j + " + ");
}
}
}
else if(sum > n) {
System.out.print(n + " is NOT perfect.");
}
}
System.out.println();
}
}
}
ํ์ด
์์ ์ ๋์จ๊ฑฐ๋ ๊ทธ๋๋ก ๋์ค์ง๋ง ... ์์ฒญ ๋ณต์กํ๊ฒ ํ์๋ค.
์ ๋ ฅ๋ฐ์ n์ ์ฝ์๋ฅผ ๋ค ๊ตฌํด์ sum๋ณ์์ ํฉํ๊ณ ,
๋ง์ฝ sum๊ณผ n์ด ๊ฐ์ผ๋ฉด ์กฐ๊ฑด์ ๋ง๊ฒ ์ถ๋ ฅํด์ฃผ๊ธฐ ์ํด ๋ค์ํ๋ฒ ์ฝ์๋ฅผ ์ฐพ์ ์ถ๋ ฅํด์ฃผ๋ ์์ผ๋ก ํ๋ค..
ํ๋ฉด์๋ ์ด๊ฒ๋ง๋ ์ถ์๋๋ฐ ์ถ๋ ฅ์ด๊ณผ? ๋ผ๊ณ ๋จ๋ฉด์ ์ ์ถ์ด ์๋๋ค..
์ฝ๋ 2(์ ๋ต ์ฝ๋)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while(true) {
int n = scan.nextInt();
if(n == -1)
break;
int[] arr = new int[n]; // ์ฝ์ ๋ด์ ๋ฐฐ์ด
int sum = 0; // ์ฝ์๋ค์ ํฉ
int index = 0; // ์ฝ์ ๋ด์ ๋ฐฐ์ด์ ์ธ๋ฑ์ค
for(int i=1; i<n; i++) {
if(n%i == 0) { // ์ฝ์์ผ ๋
arr[index++] = i; // ์ฝ์ ์ ์ฅ
sum += i; // ์ฝ์ ํฉ
}
}
if(sum != n) {
System.out.println(n + " is NOT perfect.");
continue;
}
System.out.print(n + " = ");
for(int i=0; i<index; i++) {
if(i == index-1)
System.out.print(arr[i]);
else
System.out.print(arr[i] + " + ");
}
System.out.println();
}
scan.close();
}
}
ํ์ด
์ฝ์๋ฅผ ๋ด์ ๋ฐฐ์ด์ ์ ์ธํ ํ ์ฝ์์ผ๋ ๋ฐฐ์ด์ ๋ฃ์ด์ ํ๋จํ๋ ์์ผ๋ก ํด๊ฒฐํ๋ค.
๋ฐ์ ์กฐ๊ฑด์ ๋ง๊ฒ ์ถ๋ ฅ๋ง ์ํด์ฃผ๋ฉด ๋.
๋ฐ์ํ
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1120๋ฒ: ๋ฌธ์์ด(๊ทธ๋ฆฌ๋) (0) | 2020.01.23 |
---|---|
[๋ฐฑ์ค] 10610๋ฒ: 30(๊ทธ๋ฆฌ๋) (0) | 2020.01.23 |
[๋ฐฑ์ค] 11656๋ฒ: ์ ๋ฏธ์ฌ ๋ฐฐ์ด (0) | 2020.01.22 |
[๋ฐฑ์ค] 2606๋ฒ: ๋ฐ์ด๋ฌ์ค(DFS, BFS) (0) | 2020.01.22 |
[๋ฐฑ์ค] 1260๋ฒ: DFS์ BFS (0) | 2020.01.22 |
๋๊ธ