summaryrefslogtreecommitdiff
path: root/gcd.java
diff options
context:
space:
mode:
Diffstat (limited to 'gcd.java')
-rw-r--r--gcd.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcd.java b/gcd.java
new file mode 100644
index 0000000..3c174aa
--- /dev/null
+++ b/gcd.java
@@ -0,0 +1,28 @@
+public class gcd
+{
+ public static int gcd2(int a, int b) {
+ int c;
+ while (b != 0) {
+ c = b;
+ b = a % b;
+ a = c;
+ }
+ return a;
+ }
+
+ public static int gcdn(int [] a) {
+ int r = a[0];
+ for (int i = 1; i < a.length; i++)
+ r = gcd2(r, a[i]);
+ return r;
+ }
+
+ public static void main(String [] argv) {
+ int [] n = new int [argv.length];
+ for (int i = 0; i < argv.length; i++) {
+ n[i] = Integer.parseInt(argv[i]);
+ }
+ System.out.println(gcdn(n));
+ }
+}
+