λ°μν
λ¬Έμ λΆμ
λΆν΄ν©μ μλμ²λΌ μκΈ° μμ κ³Ό κ° μλ¦Ώμλ₯Ό λν κ²
256 λΆν΄ν© : 256 + 2 + 5 + 6 = 269
λ¬Έμ μμ λΆν΄ν©μ μλ₯Ό λ€μ΄ 256μ μ리μλ‘ μͺΌκ°μ λνκ³ , λ€μ 256μ λνκ² λΆν΄ν©μ΄λΌκ³ νλ€.
μμ±μ λ?
269 = 256 + 2 + 5 + 6
256μ λΆν΄ν©μ ν΄μ λμ¨ μκ° 269μΌ λ, 256μ 269μ μμ±μκ° λλ€.
μμ±μλ₯Ό ꡬνλ λ°©λ²μ 1λΆν° NκΉμ§ λλ©΄ μ€λ 걸리λκΉ, μκ°λ³΅μ‘λλ₯Ό μ€μ΄κΈ° μν΄μ N/2 λΆν° μμμ ν΄μ
λΆν΄ν©μ ꡬν΄μ κ·Έ μκ° μμ±μκ° λλμ§ νμΈνλ©΄ λλ€. (μμ μ λΆν° μμμ ν΄μ, κ°μ₯ μμ μμ±μλ₯Ό μ°Ύλ 쑰건μ λ§μ‘±μ΄ λλ€.)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
int N = sc.nextInt();
int result = 0;
for(int i=N/2; i< N; i++){
result = i;
// κ° μ리μ λνκΈ°
if(result == N){
System.out.println(i);
break;
}
}
|
cs |
κ° μ리μ λνκΈ°
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
int MOK = 0; // λͺ«
int NMG = 0; // λλ¨Έμ§
for(int i=N/2; i< N; i++){
int result = i;
int temp = i; // μ°μ°νκΈ° μν temp λ³μ
while(temp >= 10){
MOK = temp / 10;
NMG = temp % 10;
result += NMG;
temp /= 10;
}
result += temp;
if(result == N){ // Nκ³Ό κ°μ μ§λ μμ μ μΆλ ₯νκ³ μ’
λ£
System.out.println(i);
break;
}
}
|
cs |
μ 체 μ½λ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import java.util.*; public class Main { public static void main(String[] args){ //this class For print Scanner sc = new Scanner(System.in); int NMG = 0; int MOK = 0; int N = sc.nextInt(); // 124 int result = 0; int temp = 0; for(int i=N/2; i< N; i++){ temp = i; // 116 result = i; // 116 while(temp >= 10){ MOK = temp / 10; // 1 NMG = temp % 10; // 1 result += NMG; // 123 temp /= 10; // 1 } result += temp; if(result == N){ System.out.println(i); break; } } if(result != N) System.out.println("0"); } } | cs |
λ°μν