* 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); } |