diff --git a/lab03/out/production/lab03/Main.class b/lab03/out/production/lab03/Main.class new file mode 100644 index 0000000..d915533 Binary files /dev/null and b/lab03/out/production/lab03/Main.class differ diff --git a/lab03/out/production/lab03/digitsSum.class b/lab03/out/production/lab03/digitsSum.class new file mode 100644 index 0000000..6cf3ae6 Binary files /dev/null and b/lab03/out/production/lab03/digitsSum.class differ diff --git a/lab03/out/production/lab03/factorial.class b/lab03/out/production/lab03/factorial.class new file mode 100644 index 0000000..ea8892a Binary files /dev/null and b/lab03/out/production/lab03/factorial.class differ diff --git a/lab03/out/production/lab03/fibonacci.class b/lab03/out/production/lab03/fibonacci.class new file mode 100644 index 0000000..f6b4887 Binary files /dev/null and b/lab03/out/production/lab03/fibonacci.class differ diff --git a/lab03/out/production/lab03/sum.class b/lab03/out/production/lab03/sum.class new file mode 100644 index 0000000..c13d1ed Binary files /dev/null and b/lab03/out/production/lab03/sum.class differ diff --git a/lab03/src/Main.java b/lab03/src/Main.java new file mode 100644 index 0000000..a0ed9f4 --- /dev/null +++ b/lab03/src/Main.java @@ -0,0 +1,42 @@ +public class Main { + public static void main(String[] args) { + int n = 4; + + factorial fact = new factorial(); + int res1 = fact.recursionExecute(n); + System.out.println("Factorial recursive n: " + n); + System.out.println("Factorial recursive execute: " + res1); + + int res2 = fact.cycleExecute(n); + System.out.println("Factorial cycle n: " + n); + System.out.println("Factorial cycle execute: " + res2); + assert res1 == res2 : "different values"; + + + fibonacci fib = new fibonacci(); + + res1 = fib.recursionExecute(n); + System.out.println("Fibonacci recursive n: " + n); + System.out.println("Fibonacci recursive execute: " + res1); + + res2 = fib.cycleExecute(n); + System.out.println("Fibonacci cycle n: " + n); + System.out.println("Fibonacci cycle execute: " + res2); + assert res1 == res2 : "different values"; + + + int number = 233151; + digitsSum digitSum = new digitsSum(); + res1 = digitSum.execute(number); + System.out.println("Digits sum number: " + number); + System.out.println("Digits sum recursive execute: " + res1); + + int x = 5; + int y = 2; + sum sum = new sum(); + res1 = sum.execute(x,y); + System.out.println("Sum without arithmetic operations x: " + x + ", y: " + y); + System.out.println("Sum without arithmetic operations execute: " + res1); + + } +} \ No newline at end of file diff --git a/lab03/src/digitsSum.java b/lab03/src/digitsSum.java new file mode 100644 index 0000000..9193501 --- /dev/null +++ b/lab03/src/digitsSum.java @@ -0,0 +1,9 @@ +public class digitsSum { + int execute(int number){ + if (number == 0){ + return 0; + } + + return (number % 10) + execute(number/10); + } +} diff --git a/lab03/src/factorial.java b/lab03/src/factorial.java new file mode 100644 index 0000000..4e84c05 --- /dev/null +++ b/lab03/src/factorial.java @@ -0,0 +1,15 @@ +public class factorial { + int recursionExecute(int n){ + if (n < 1) return 1; + + return n * recursionExecute(n - 1); + } + int cycleExecute(int n){ + int res = 1; + for(int i = 1; i <= n; i++){ + res *= i; + } + + return res; + } +} diff --git a/lab03/src/fibonacci.java b/lab03/src/fibonacci.java new file mode 100644 index 0000000..b7ae946 --- /dev/null +++ b/lab03/src/fibonacci.java @@ -0,0 +1,22 @@ +public class fibonacci { + + int recursionExecute(int n){ + if (n <= 1) return n; + + int curr = recursionExecute(n - 1); + int prev = recursionExecute(n - 2); + + return curr + prev; + } + int cycleExecute(int n){ + int prev = 0; + int curr = 1; + for (int i = 0; i <= n; i++){ + int temp = curr; + curr = prev + curr; + prev = temp; + } + + return curr; + } +} diff --git a/lab03/src/sum.java b/lab03/src/sum.java new file mode 100644 index 0000000..fa55076 --- /dev/null +++ b/lab03/src/sum.java @@ -0,0 +1,7 @@ +public class sum { + public int execute(int x, int y){ + if (y == 0) return x; + + return execute(x ^ y, (x & y) << 1); + } +}