:: ADVANCE ::

[dovelet][다중 반복문] 친구 수 (amicable) 본문

Algorithm/구현 | ETC

[dovelet][다중 반복문] 친구 수 (amicable)

KSJ14 2014. 9. 22. 00:59
반응형

dovelet    4 단계  다중 반복문


친구 수 (amicable)


http://59.23.113.171/30stair/amicable/amicable.php?pname=amicable


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;
 
char ox[10000];
 
int func(int n)
{
    int i, result = 0;
    for(i = 2; i * i <= n; i++)    {
        if(i * i == n)    result += i;
        else if(n%i == 0)    {
            result = result + i + n/i;
        }
    }
    return result+1;
}
 
int main(void)
{
    int n, temp;
 
    cin >> n;
    for(int i = 220; i <= n; i++)    {
        temp = func(i);
        if(temp != i && func(temp) == i)    {
            if(ox[i] + ox[temp] == 0)    {
                ox[i] = 1;
                ox[temp] = 1;            
                cout << i << " " << func(i) << endl;
            }
        }
    }
 
    return 0;
}


반응형
Comments