λ¬Έμ
μ ν λλ²λ 1949λ μΈλ μνμ D.R Kaprekarκ° μ΄λ¦μ λΆμλ€
μμ μ μ nμ λν΄μ d(n)μ nκ³Ό nμ κ° μ리μλ₯Ό λνλ ν¨μλΌκ³ μ μνμ
μλ₯Ό λ€μ΄ d(75)=75+7+5=87μ΄λ€
μμ μ μ nμ΄ μ£Όμ΄μ‘μ λ, μ΄ μλ₯Ό μμν΄μ n, d(n),d(d(n)),d(d(d(n))),....κ³Ό κ°μ 무ν μμ΄μ λ§λ€ μ μλ€
μμ±μκ° μλ μ«μλ₯Ό μ ν λλ²λΌκ³ νλ€
100λ³΄λ€ μμ μ ν λλ²λ 1,3,5,7,9,20,31,42,53,64,75,86,97 μ΄ 13κ°κ° μλ€
10000λ³΄λ€ μκ±°λ κ°μ μ ν λλ²λ₯Ό ν μ€μ νλμ© μ¦κ°νλ μμλ‘ μΆλ ₯νλ€
μΆλ ₯
10000λ³΄λ€ μκ±°λ κ°μ μ ν λλ²λ₯Ό ν μ€μ νλμ© μ¦κ°νλ μμλ‘ μΆλ ₯νλ€
μ½λ
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
|
#include <iostream>
using namespace std;
//μ¬κ·ν¨μ
void recursiveFunc(int idx,bool array[])
{
int sum=0;
if(idx<10000)
{
sum+=idx;
//κ° μλ¦Ώμλ₯Ό λν¨ while(idx>0){
sum+=(idx%10);
idx/=10;
}
//ν΄λΉ μλ¦Ώμμ 체ν¬ν¨ if(array[sum]==false&&sum<10000)
array[sum]=true;
return recursiveFunc(sum,array);
}
else{
return ;
}
}
int main() {
bool array[10000]={false,};
for(int i=1;i<10000;i++)
{
recursiveFunc(i,array);
}
for(int i=1;i<10000;i++){
if(array[i]==false){
printf("%d\n",i);
}
}
return 0;
}
|
cs |
*κ°λ¨ν ν΄μ€*
μ΄ λ¬Έμ μ κ²½μ° μ¬κ·ν¨μλ₯Ό λ§λ€ μ μλλ₯Ό λ¬Όμ΄λ³΄λ λ¬Έμ μ΄λ€
10000κ°μ bool λ°°μ΄μ λ§λ ν μ ν λλ²λ₯Ό 체ν¬νλ ν¨μμμ λ§μ½ ν΄λΉ μ«μκ° λμ¨λ€λ©΄ κ·Έ μ리μ trueλ₯Ό λ£λλ€
λͺ¨λ 체ν¬κ° λλ ν false κ°μ κ°μ§ λ°°μ΄μ μ리 κ°μ μΆλ ₯νλ©΄ λλ€
μμΈ μ²΄ν¬ κ°μ κ²½μ° μ ν λλ²λ₯Ό κ³μ°νλ κ³Όμ μμ 10000μ λλ κ²½μ°μ idxκ° 10000μ λλ κ²½μ° λ κ°μ΄λ€
κ·Έλ¦Όκ³Ό κ°μ νλ‘μΈμ€λ₯Ό κ±°μ³μ μ§νλλ€
μ§κΈ 보λ μ΄λ―Έ true κ°μ κ°μ§κ³ μλ idxλ€μ μ²΄ν¬ νμ§ μλ κ²μ΄ λ κ³μ°μ ν¨μ¨μ μΌ κ² κ°λ€
*λ©λͺ¨λ¦¬*
1984KB
*μκ°*
20ms
*μΈμ΄*
C++14
*μ½λ κΈΈμ΄*
484B
*μ΄ λ°©λ²λ§μ΄ λ§λ μ λ΅μ μλλλ€.
ν¨μ¬ μ’κ³ λΉ λ₯Έ λ€λ₯Έ μκ³ λ¦¬μ¦μ ꡬνν μ μμ΅λλ€.
μκ³ λ¦¬μ¦ κ³΅λΆνμλ λΆλ€ νμ΄ν ! '0'/*
'μκ³ λ¦¬μ¦ > BaekJoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
BOJ 11654λ²: μμ€ν€ μ½λ (0) | 2020.10.09 |
---|---|
BOJ 1065λ²: νμ (0) | 2020.09.27 |
BOJ 15596λ²: μ μ Nκ°μ ν© (0) | 2020.08.22 |
BOJ 4344λ²: νκ· μ λκ² μ§ (0) | 2020.08.21 |
BOJ 8959λ²: OXν΄μ¦ (0) | 2020.08.18 |