1: Prime Check
public boolean isPrime (int n)
{
if (n<=1) return false;
if (n==2) return true;
if (n%2==0) return false;
int m=Math.sqrt(n);
for (int i=3; i<=m; i+=2)
if (n%i==0)
return false;
return true;
}
2: Get All Primes
public boolean[] sieve(int n)
{
boolean[] prime=new boolean[n+1];
Arrays.fill(prime,true);
prime[0]=false;
prime[1]=false;
int m=Math.sqrt(n);
for (int i=2; i<=m; i++)
if (prime[i])
for (int k=i*i; k<=n; k+=i)
prime[k]=false;
return prime;
}
3: greatest common divisor (GCD)
Euclid's algorithm
//assume that a and b cannot both be 0
public int GCD(int a, int b)
{
if (b==0) return a;
return GCD(b,a%b);
}
4: lowest common multiple (LCM)
public int LCM(int a, int b)
{
return b*a/GCD(a,b);
}
5: Rectangles Overlap
Suppose we have two rectangles R1 and R2. Let (x1, y1) be the location of the bottom-left corner of R1 and (x2, y2) be the location of its top-right corner. Similarly, let (x3, y3) and (x4, y4) be the respective corner locations for R2. The intersection of R1 and R2 will be a rectangle R3 whose bottom-left corner is at (max(x1, x3), max(y1, y3)) and top-right corner at (min(x2, x4), min(y2, y4)). If max(x1, x3) > min(x2, x4) or max(y1, y3) > min(y2, y4) then R3 does not exist, ie R1 and R2 do not intersect.
6: Fractions
public int[] multiplyFractions(int[] a, int[] b)
{
int[] c={a[0]*b[0], a[1]*b[1]};
return c;
}
No comments:
Post a Comment