From 701d32c0217dd392561aec5b310cedac6fe29def Mon Sep 17 00:00:00 2001 From: Sobottasgithub Date: Wed, 12 Nov 2025 21:19:54 +0100 Subject: [PATCH] Init --- .envrc | 1 + .idea/.gitignore | 3 + .idea/misc.xml | 6 ++ .idea/modules.xml | 8 +++ Fakultaet.java | 27 ++++++++ Main.java | 6 ++ Rekursion.java | 51 +++++++++++++++ flake.lock | 61 ++++++++++++++++++ flake.nix | 57 ++++++++++++++++ out/production/recursivFakultaet/.envrc | 1 + .../recursivFakultaet/.idea/.gitignore | 3 + .../recursivFakultaet/.idea/misc.xml | 6 ++ .../recursivFakultaet/.idea/modules.xml | 8 +++ .../recursivFakultaet/Fakultaet.class | Bin 0 -> 1394 bytes out/production/recursivFakultaet/Main.class | Bin 0 -> 423 bytes .../recursivFakultaet/Rekursion.class | Bin 0 -> 1438 bytes out/production/recursivFakultaet/flake.lock | 61 ++++++++++++++++++ out/production/recursivFakultaet/flake.nix | 57 ++++++++++++++++ .../recursivFakultaet/recursivFakultaet.iml | 11 ++++ recursivFakultaet.iml | 11 ++++ 20 files changed, 378 insertions(+) create mode 100644 .envrc create mode 100644 .idea/.gitignore create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 Fakultaet.java create mode 100755 Main.java create mode 100644 Rekursion.java create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 out/production/recursivFakultaet/.envrc create mode 100644 out/production/recursivFakultaet/.idea/.gitignore create mode 100644 out/production/recursivFakultaet/.idea/misc.xml create mode 100644 out/production/recursivFakultaet/.idea/modules.xml create mode 100644 out/production/recursivFakultaet/Fakultaet.class create mode 100644 out/production/recursivFakultaet/Main.class create mode 100644 out/production/recursivFakultaet/Rekursion.class create mode 100644 out/production/recursivFakultaet/flake.lock create mode 100644 out/production/recursivFakultaet/flake.nix create mode 100644 out/production/recursivFakultaet/recursivFakultaet.iml create mode 100644 recursivFakultaet.iml diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..a5dbbcb --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake . diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..f5bd2df --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..495801a --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Fakultaet.java b/Fakultaet.java new file mode 100644 index 0000000..f1b32bd --- /dev/null +++ b/Fakultaet.java @@ -0,0 +1,27 @@ +public class Fakultaet { + public Fakultaet() { + int inputNum = 30; + System.out.println("Iterativ: " + iterativFakultaet(inputNum)); + System.out.println("Recursiv: " + recursivFakultaet(inputNum)); + } + + public Fakultaet(int num) { + System.out.println("Iterativ: " + iterativFakultaet(num)); + System.out.println("Recursiv: " + recursivFakultaet(num)); + } + + public int iterativFakultaet(int num) { + int result = 1; + for (int index = 1; index <= num; index++) { + result = index * result; + } + return result; + } + + public int recursivFakultaet(int num) { + if (num == 1) { + return num; + } + return num * recursivFakultaet(num-1); + } +} diff --git a/Main.java b/Main.java new file mode 100755 index 0000000..3582b96 --- /dev/null +++ b/Main.java @@ -0,0 +1,6 @@ +public class Main { + public static void main(String[] args) { + //Fakultaet fakultaet = new Fakultaet(30); + Rekursion rekursion = new Rekursion(); + } +} diff --git a/Rekursion.java b/Rekursion.java new file mode 100644 index 0000000..226c3ca --- /dev/null +++ b/Rekursion.java @@ -0,0 +1,51 @@ +public class Rekursion { + public Rekursion() { + System.out.println(fibonacci(10)); + System.out.println(fibonacciIterativ(10)); + System.out.println("Result " + mystery(5)); + } + + public int fibonacci(int n) { + if (n == 0) { + return 0; + } else if (n == 1) { + return 1; + } else { + return fibonacci(n-1) + fibonacci(n-2); + } + } + + public int fibonacciIterativ(int n) { + if (n == 0) { + return 0; + } else if (n == 1) { + return 1; + } + + int next = 0; + + int a = 1; + int b = 0; + + for (int index = 0; index < n; index++) { + next = a + b; + a = b; + b = next; + } + + return next; + } + + public int mystery(int n) { + System.out.println(n); + if (n <= 1) { + return 1; + } + + return n + mystery(n-1); + } + + private static String getString(int binaryNum) { + return String.valueOf(binaryNum); + } +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..dc0a060 --- /dev/null +++ b/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1760948891, + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1761114652, + "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1754788789, + "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "a73b9c743612e4244d865a2fdee11865283c04e6", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..b814942 --- /dev/null +++ b/flake.nix @@ -0,0 +1,57 @@ +{ + description = "Inventar"; + + inputs = { + flake-parts.url = "github:hercules-ci/flake-parts"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + }; + + outputs = inputs@{ flake-parts, ... }: + flake-parts.lib.mkFlake { inherit inputs; } { + imports = [ + ]; + systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ]; + perSystem = { config, self', inputs', pkgs, system, ... }: let + + jdk = pkgs.jdk21.override { + }; + + buildInputs = [ + jdk + ]; + + devTools = [ + pkgs.google-java-format + ]; + + in { + devShells.default = pkgs.mkShell { + buildInputs = buildInputs ++ devTools; + }; + + packages = { + default = pkgs.stdenv.mkDerivation { + pname = "recursiveFakultaet"; + version = "1.0.0"; + + src = ./.; + + nativeBuildInputs = buildInputs ++ [ pkgs.makeWrapper ]; + + buildPhase = '' + javac -Werror -g:none -deprecation -verbose Main.java + ''; + + installPhase = '' + mkdir -p $out/{bin,lib} + cp *.class $out/lib + + makeWrapper ${pkgs.lib.getExe jdk} $out/bin/recursiveFakultaet --add-flags "-cp $out/lib/ Main" + ''; + }; + }; + }; + flake = { + }; + }; +} diff --git a/out/production/recursivFakultaet/.envrc b/out/production/recursivFakultaet/.envrc new file mode 100644 index 0000000..a5dbbcb --- /dev/null +++ b/out/production/recursivFakultaet/.envrc @@ -0,0 +1 @@ +use flake . diff --git a/out/production/recursivFakultaet/.idea/.gitignore b/out/production/recursivFakultaet/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/out/production/recursivFakultaet/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/out/production/recursivFakultaet/.idea/misc.xml b/out/production/recursivFakultaet/.idea/misc.xml new file mode 100644 index 0000000..f5bd2df --- /dev/null +++ b/out/production/recursivFakultaet/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/out/production/recursivFakultaet/.idea/modules.xml b/out/production/recursivFakultaet/.idea/modules.xml new file mode 100644 index 0000000..495801a --- /dev/null +++ b/out/production/recursivFakultaet/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/out/production/recursivFakultaet/Fakultaet.class b/out/production/recursivFakultaet/Fakultaet.class new file mode 100644 index 0000000000000000000000000000000000000000..719a758bf489a91f757db89b0413120ee4f783e7 GIT binary patch literal 1394 zcma)+$!-%t5QhJ@Cz-@?7CSK^I0;((N4`dvz0;!$Nn9nLymMU51Ih95Z2Lz@! zWLvHJUPJ1qj&AWS)Y8)-c?|6%d%2V6c+bf@h#4D)(#T_0U~-?F1niE<(DjVSUWui; zNqRnw!zSZQpc>sEjAfaHz?6Ws>Nl0Zc-8ULgYL$<3ZBSym!53ZZ%DT;1IO5r)6y-6 zNsm-_i!BQbIbNr$d00SHsK|=yY^P@&1CG~JFZnG36|!RjqctrX?fbG5DW+oUVAD3RYbihAOnNEU>tzru|a2!SSE}cPKwjzb+i* zz$7@efW_h9wc>h|mWyQ1UnqWtn3!Mw1iP5u#^??vfo)7j_S_DR^z4s3lfW^q2dHA+ zEh_M?Vw(0z>K^ay8CC%cSme_t=>+#ULyRdzWEGJY4f+4ES)#xTZ($fyND(m-LoP;0 z5WEy2d95Slt6sW5&RVf<&gI`>bZ)k_@;WKr|N1ujfwIY1Wu{-_giK(R&q<1y%8CSA zw2Kr^($4Jya}hAX*i+n1;57I7EBgUUi0|ybF!wb|rA`&oqfFj_q`opK%@6)*lPmM&2rmR7(LgPrNmL}CXJm0<)!-|0gn`~eaX1d@3cmf`RCtyK2*YY^dBvX4N-JkC}=X~e8(qI2Q{}aIH_%w?Y z(he*a8Q22Xp2}lc>B-4BAqE$R

e6&D`X1g>A9gnR>|t4HR- z&Si+wp^>`bVsoVPJHHhMvfcI#^p?TBndm&^;~?xPfqcUc)R)74OGS@ltH+haM%b3U zLmByIK3=r+kx$`sjY;V>0YMd_E->HJvfX_k2jk#{32&X&NbMgBWc;9`o{=_C&*-y| zyjlX;W;l%6>Yi_ya})5}rgpaJvoO@Lj^yBh(nnz@p22&x;Gv3#JuUJ!s#$!14;_4D zEdN+w`}`RA!ExACmBibm3-@GOho)6OOj|b&Oc=h9L8qtU?M4`OhlAQ>ho@F9BtAMB zs4K$1or+HmW^KCjV~7LU>ot9?=&4%|0u>$fWE`v5!JfdaOEq03)xlkXjhBb=ok;4! z7EeivM-{NZ-oWPlRnG1s%@I&2{{itkobt>W=AYv_aE9gIxRJs(?>UBUCk6S-p^QCFIbQF z3fBHw)%rdoetq%J+PRi0nZfd{QJDp5DRN~MdA>>uSmWvjHEiN0ZcyJA)okE4t1w#k z$-T_~n^b5j+MTH09jneW<1Ox{h_%VQ5*=6~YK0?fR8tX_ZNH!ywu787Kj2?#5avTP zwpW_UiNC^rd1tucS-%*6y~N=8DQ6cM335BccZr`P`?;$t6MZXFuJSyXZtpTNg}3nz WpED$WpVzynahB!i4vYN+tN#NvDIlu= literal 0 HcmV?d00001 diff --git a/out/production/recursivFakultaet/flake.lock b/out/production/recursivFakultaet/flake.lock new file mode 100644 index 0000000..dc0a060 --- /dev/null +++ b/out/production/recursivFakultaet/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1760948891, + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1761114652, + "narHash": "sha256-f/QCJM/YhrV/lavyCVz8iU3rlZun6d+dAiC3H+CDle4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "01f116e4df6a15f4ccdffb1bcd41096869fb385c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1754788789, + "narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "a73b9c743612e4244d865a2fdee11865283c04e6", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/out/production/recursivFakultaet/flake.nix b/out/production/recursivFakultaet/flake.nix new file mode 100644 index 0000000..b814942 --- /dev/null +++ b/out/production/recursivFakultaet/flake.nix @@ -0,0 +1,57 @@ +{ + description = "Inventar"; + + inputs = { + flake-parts.url = "github:hercules-ci/flake-parts"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + }; + + outputs = inputs@{ flake-parts, ... }: + flake-parts.lib.mkFlake { inherit inputs; } { + imports = [ + ]; + systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ]; + perSystem = { config, self', inputs', pkgs, system, ... }: let + + jdk = pkgs.jdk21.override { + }; + + buildInputs = [ + jdk + ]; + + devTools = [ + pkgs.google-java-format + ]; + + in { + devShells.default = pkgs.mkShell { + buildInputs = buildInputs ++ devTools; + }; + + packages = { + default = pkgs.stdenv.mkDerivation { + pname = "recursiveFakultaet"; + version = "1.0.0"; + + src = ./.; + + nativeBuildInputs = buildInputs ++ [ pkgs.makeWrapper ]; + + buildPhase = '' + javac -Werror -g:none -deprecation -verbose Main.java + ''; + + installPhase = '' + mkdir -p $out/{bin,lib} + cp *.class $out/lib + + makeWrapper ${pkgs.lib.getExe jdk} $out/bin/recursiveFakultaet --add-flags "-cp $out/lib/ Main" + ''; + }; + }; + }; + flake = { + }; + }; +} diff --git a/out/production/recursivFakultaet/recursivFakultaet.iml b/out/production/recursivFakultaet/recursivFakultaet.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/out/production/recursivFakultaet/recursivFakultaet.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/recursivFakultaet.iml b/recursivFakultaet.iml new file mode 100644 index 0000000..b107a2d --- /dev/null +++ b/recursivFakultaet.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file