From dc25fe73d52e182a4372b0d0dc22b70825686dd1 Mon Sep 17 00:00:00 2001 From: sergeynikitin Date: Wed, 14 Jul 2021 17:09:01 +0300 Subject: [PATCH 1/3] newCommit --- src/algorithmsAndDataStructures/Backpack.java | 21 +++++++ src/algorithmsAndDataStructures/Item.java | 19 +++++++ src/algorithmsAndDataStructures/Main.java | 55 ++++++++++++++++++- 3 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 src/algorithmsAndDataStructures/Backpack.java create mode 100644 src/algorithmsAndDataStructures/Item.java diff --git a/src/algorithmsAndDataStructures/Backpack.java b/src/algorithmsAndDataStructures/Backpack.java new file mode 100644 index 0000000..7e85e61 --- /dev/null +++ b/src/algorithmsAndDataStructures/Backpack.java @@ -0,0 +1,21 @@ +package algorithmsAndDataStructures; + +public class Backpack { + private Item[] item; + + public Backpack(Item[] item) { + this.item = item; + + } + + public int put(int i, int weight) { + if (i < 0) { + return 0; + } + if (item[i].getWeight() > weight) { + return put(i - 1, weight); + + } else return Math.max(put(i - 1, weight), + put(i - 1, weight - item[i].getWeight()) + item[i].getPrice()); + } +} \ No newline at end of file diff --git a/src/algorithmsAndDataStructures/Item.java b/src/algorithmsAndDataStructures/Item.java new file mode 100644 index 0000000..d9cb5b1 --- /dev/null +++ b/src/algorithmsAndDataStructures/Item.java @@ -0,0 +1,19 @@ +package algorithmsAndDataStructures; + +public class Item { + private int weight; + private int price; + + public Item(int weight, int price) { + this.weight = weight; + this.price = price; + } + + public int getWeight() { + return weight; + } + + public int getPrice() { + return price; + } +} diff --git a/src/algorithmsAndDataStructures/Main.java b/src/algorithmsAndDataStructures/Main.java index ba454e2..a33033b 100644 --- a/src/algorithmsAndDataStructures/Main.java +++ b/src/algorithmsAndDataStructures/Main.java @@ -3,6 +3,57 @@ public class Main { public static void main(String[] args) { - // write your code here + + doTask2(); +// System.out.println(recursFib(5)); +// System.out.println(recurs(5)); +// System.out.println(doTask(5, -2)); +// System.out.println(recTriangleNum(5)); + } + + public static double doTask1(double x, int y) { + if (y == 1) { + return x; + } + if (y == 0) { + return 1; + } + if (y < 0) { + return 1 / x * doTask1(x, ++y); + } + return doTask1((x * x), y - 1); + } + + public static void doTask2() { + Item[] items = new Item[]{ + new Item(5, 7), + new Item(10, 7), + new Item(3, 2) + }; + Backpack backpack = new Backpack(items); + int sizeBag = 10; + System.out.println(backpack.put(items.length - 1, sizeBag)); + } + + public static int recurs(int n) { + if (n == 1) { + return n; + } + return recurs(n - 1) * n; + } + + public static int recursFib(int n) { + if (n < 3) { + return 1; + } + return recursFib(n - 1) + recursFib(n - 2); + } + + public static int recTriangleNum(int n) { + System.out.println(n); + if (n == 1) { + return 1; + } + return recTriangleNum(n - 1) + n; } -} +} \ No newline at end of file From 72b603421969fdfe8b986d1b25211fd183776be5 Mon Sep 17 00:00:00 2001 From: SerjNikitin <76908941+SerjNikitin@users.noreply.github.com> Date: Wed, 14 Jul 2021 17:10:45 +0300 Subject: [PATCH 2/3] Create README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..d843d66 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# AlgorithmsAndDataStructures +1. Написать программу по возведению числа в степень с помощью рекурсии. +2. Написать программу «Задача о рюкзаке» с помощью рекурсии. From 13a0e0cc7212aa01e74ba331d8b164e23ab6cd26 Mon Sep 17 00:00:00 2001 From: sergeynikitin Date: Wed, 21 Jul 2021 17:27:54 +0300 Subject: [PATCH 3/3] Rename branch --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d843d66..639496e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ # AlgorithmsAndDataStructures +Recursion 1. Написать программу по возведению числа в степень с помощью рекурсии. 2. Написать программу «Задача о рюкзаке» с помощью рекурсии.