public class Loops{ public int fact(int n){ if (n < 1) return 1; else { return n*fact(n-1); } } public int fact2(int n){ int ans; ans = 1; while (n>1){ ans = n*ans; n = n-1; } return ans; } public int gcd(int a, int b){ int c; if (a>b){ c=b; } else{ c=a; } while (c>0){ if ((a%c)==(b%c) && (a%c)==0){ return c;} c=c-1;} return c; } public int gcd2(int a, int b){ if (a==0){ return b; } if (b==0){ return a; } else return gcd2(b,a%b); } public int secondGcd2(int a,int b){ while ((a!=0)&&(b!=0)){ return secondGcd2(b,a%b); } return Math.max(a,b); } public boolean isPrime(int n){ int d = 0; int t = n; while (t > 0){ if (n%t==0){ d = d+t; } t = t-1; } return (d==n+1); } public boolean isPrime2(int n){ int d, t; d = 0; for (t=n;t>0;t--){ if (n%t==0){ d=d+t; } } return (d==n+1); } }