algorithm

알고리즘에서 자주쓰는 코드

아르비스 2016. 9. 12. 16:23

* 1부터 n까지의 합

int sumToN(int n) {

 return n * (n+1) /2;


*최대 공약수 

[ 기본 ]

int gcd(int a, int b) {

   int great_common_divisor = 1;

   for (int i =1 ; i <= a && i <= b ; i++ ) {

       if ( (a % i == 0 ) && (b % i == 0)) {

          great_common_divisor = i;

        }

    }

   return great_common_divisor;

}


[ 알고리즘 ]

int GCD ( int a, int b) {

    while(b!=0) {

      int r = a%b;

      a = b;

      b = r;

    }

    return a;

}


[ 알고리즘 ] 재귀

int GCD(int a, int b) {

   return (b == 0) ? a : GCD(b, a%b);

} 


* DFS ( map은 인접행렬)

 void dfs(int v ){

        visited[v] = true;

        System.out.print(v + " -> ");


for (int i = 0; i < maxLength; i++) {

if((map[v][i] == 1 ) && !visited[i]) {

dfs(i);

}

}

}


[  최소 공배수 ]

 int LCM(int a, int b) {

return (a*b) / GCD(a,b);

 }