From cd51025dc4f65595d1e418494313827df1d6ea2b Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Wed, 8 Apr 2026 19:46:21 +0200 Subject: [PATCH] Add Task 5 prime number generator, AI comparison, and .gitignore --- .gitignore | 10 ++++ .idea/.gitignore | 10 ---- .idea/Aufgabenblatt1.iml | 9 ---- .idea/copilot.data.migration.ask2agent.xml | 6 --- .idea/misc.xml | 6 --- .idea/modules.xml | 9 ---- .idea/vcs.xml | 6 --- aufgabenblatt1/src/solution.md | 45 ++++++++++++++++ aufgabenblatt1/src/task5.png | Bin 0 -> 15279 bytes .../src/task5/PrimeNumberGenerator.java | 45 ++++++++++++++++ .../src/task5/PrimeNumberGeneratorAI.java | 51 ++++++++++++++++++ .../src/task5/primzahlen_ergebnisse.csv | 11 ++++ out/production/aufgabenblatt1/solution.md | 6 --- out/production/aufgabenblatt1/task1.png | Bin 16357 -> 0 bytes out/production/aufgabenblatt1/task2.png | Bin 17767 -> 0 bytes .../aufgabenblatt1/task3/NumberGuesser.class | Bin 1989 -> 0 bytes .../aufgabenblatt1/util/ArrayTester.class | Bin 764 -> 0 bytes out/production/aufgabenblatt1/util/Util.class | Bin 2160 -> 0 bytes 18 files changed, 162 insertions(+), 52 deletions(-) create mode 100644 .gitignore delete mode 100644 .idea/.gitignore delete mode 100644 .idea/Aufgabenblatt1.iml delete mode 100644 .idea/copilot.data.migration.ask2agent.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml create mode 100644 aufgabenblatt1/src/task5.png create mode 100644 aufgabenblatt1/src/task5/PrimeNumberGenerator.java create mode 100644 aufgabenblatt1/src/task5/PrimeNumberGeneratorAI.java create mode 100644 aufgabenblatt1/src/task5/primzahlen_ergebnisse.csv delete mode 100644 out/production/aufgabenblatt1/solution.md delete mode 100644 out/production/aufgabenblatt1/task1.png delete mode 100644 out/production/aufgabenblatt1/task2.png delete mode 100644 out/production/aufgabenblatt1/task3/NumberGuesser.class delete mode 100644 out/production/aufgabenblatt1/util/ArrayTester.class delete mode 100644 out/production/aufgabenblatt1/util/Util.class diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f5ab43 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# Build output +out/ + +# IDE +.idea/ +*.iml + +# OS +.DS_Store +Thumbs.db \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index ab1f416..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Ignored default folder with query files -/queries/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml -# Editor-based HTTP Client requests -/httpRequests/ diff --git a/.idea/Aufgabenblatt1.iml b/.idea/Aufgabenblatt1.iml deleted file mode 100644 index d6ebd48..0000000 --- a/.idea/Aufgabenblatt1.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/copilot.data.migration.ask2agent.xml b/.idea/copilot.data.migration.ask2agent.xml deleted file mode 100644 index 1f2ea11..0000000 --- a/.idea/copilot.data.migration.ask2agent.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index be7226b..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 5784362..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/aufgabenblatt1/src/solution.md b/aufgabenblatt1/src/solution.md index e140a11..a4bf207 100644 --- a/aufgabenblatt1/src/solution.md +++ b/aufgabenblatt1/src/solution.md @@ -57,3 +57,48 @@ Beide Lösungen verwenden den **gleichen Algorithmus**: Sortieren der Zeichen un - **Null-Check:** Die KI prüft auf `null`-Werte (`if (word0 == null || word1 == null)`). Meine Lösung tut dies nicht, würde also bei `null`-Eingaben eine `NullPointerException` werfen. - **Vergleichsmethode:** Meine Lösung erstellt neue Strings und vergleicht mit `String.equals()`. Die KI vergleicht die char-Arrays direkt mit `Arrays.equals()`, was einen unnötigen String-Allokationsschritt spart. - **Hilfsmethode:** Meine Lösung lagert das Sortieren in eine eigene `sortString()`-Methode aus. Die KI schreibt alles inline in `isAnagram()`. + +# Task 5 + +## Ergebnisse + +| maximum | Anzahl Primzahlen (Algorithmus) | maximum/ln(maximum) (Schätzung) | +|--------:|-------------------------------:|-------------------------------:| +| 100 | 25 | 21,7 | +| 500 | 95 | 80,5 | +| 1.000 | 168 | 144,8 | +| 2.000 | 303 | 263,1 | +| 5.000 | 669 | 587,0 | +| 10.000 | 1.229 | 1.085,7 | +| 20.000 | 2.262 | 2.019,5 | +| 50.000 | 5.133 | 4.621,2 | +| 100.000 | 9.592 | 8.685,9 | +| 200.000 | 17.984 | 16.385,3 | + +## Kurvenvergleich + +![Primzahlen-Kurvenvergleich](./task5.png) + +Die Schätzung durch maximum/ln(maximum) (Primzahlsatz) liegt durchgehend etwas **unter** der tatsächlichen Anzahl der Primzahlen, nähert sich aber mit steigendem maximum proportional an. Beide Kurven zeigen den gleichen sublinearen Wachstumsverlauf. + +## Aufwandsvergleich: Algorithmus vs. Formel + +- **Algorithmus (Zählen durch Sieben):** Für jede Zahl bis `maximum` wird geprüft, ob sie prim ist. Die naive Implementierung hat eine Laufzeitkomplexität von **O(n²)** — für jede der n Zahlen wird im schlimmsten Fall bis n dividiert. Bei maximum = 200.000 sind das potenziell Milliarden von Divisionen. +- **Formel maximum/ln(maximum):** Eine einzige Division und ein Logarithmus — **O(1)**, also konstanter Aufwand, unabhängig von der Größe von maximum. + +**Fazit:** Die Formel ist um Größenordnungen schneller, liefert aber nur eine Schätzung. Der Algorithmus liefert das exakte Ergebnis, braucht dafür aber erheblich mehr Rechenzeit. Für große Werte ist die Formel eine sehr gute Approximation. + +## Vergleich: Eigene Lösung vs. KI-Lösung + +Beide Lösungen liefern **identische Ergebnisse** für alle getesteten Werte. Der zentrale Unterschied liegt in der `isPrime()`-Methode: + +**Gemeinsamkeiten:** +- Gleiche Gesamtstruktur: Klasse mit `maximum`-Feld, `isPrime()`, `countPrimes()`, `printPrimeNumbers()` +- Gleicher Brute-Force-Ansatz: Jede Zahl einzeln auf Primeigenschaft prüfen + +**Unterschiede:** +- **Schleifengrenze:** Meine Lösung prüft Teiler bis `number - 1` (O(n) pro Zahl). Die KI prüft nur bis `√number` (`i * i <= number`), was O(√n) pro Zahl ergibt — mathematisch ausreichend, da ein Teiler > √n immer einen Gegenteiler < √n hat. +- **Gerade Zahlen:** Die KI schließt gerade Zahlen > 2 sofort aus (`if (number % 2 == 0) return false`) und prüft danach nur ungerade Teiler (`i += 2`). Das halbiert die Anzahl der Divisionen nochmals. +- **Sonderfälle:** Die KI behandelt Zahlen < 2 und die Zahl 2 explizit als Sonderfälle. + +**Bewertung:** Die KI-Lösung ist **besser**. Durch die Optimierung der Schleifengrenze auf √n und das Überspringen gerader Zahlen sinkt die Gesamtkomplexität von O(n²) auf ca. O(n√n) — bei maximum = 200.000 ein erheblicher Geschwindigkeitsvorteil. Die Ergebnisse sind trotzdem identisch. diff --git a/aufgabenblatt1/src/task5.png b/aufgabenblatt1/src/task5.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9aacda90ea84ded809ca7911e00e74c469cfac GIT binary patch literal 15279 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 G`~45z93+?k literal 0 HcmV?d00001 diff --git a/aufgabenblatt1/src/task5/PrimeNumberGenerator.java b/aufgabenblatt1/src/task5/PrimeNumberGenerator.java new file mode 100644 index 0000000..e77b020 --- /dev/null +++ b/aufgabenblatt1/src/task5/PrimeNumberGenerator.java @@ -0,0 +1,45 @@ +package task5; + +public class PrimeNumberGenerator { + private int maximum; + + public PrimeNumberGenerator(int maximum) { + this.maximum = maximum; + } + public void printPrimeNumbers() { + for (int i = 2; i <= maximum; i++) { + if (isPrime(i)) { + System.out.println(i); + } + } + } + private boolean isPrime(int number) { + for (int i = 2; i < number; i++) { + if (number % i == 0) { + return false; + } + } + return true; + } + private int countPrimes() { + int count = 0; + for (int i = 2; i <= maximum; i++) { + if (isPrime(i)) { + count++; + } + } + return count; + } + + public static void main(String[] args) { + int[] testValues = {100, 500, 1000, 2000, 5000, 10000, 20000, 50000, 100000, 200000}; + + System.out.println("maximum,Anzahl Primzahlen (Algorithmus),maximum/ln(maximum) (Schätzung)"); + for (int max : testValues) { + PrimeNumberGenerator generator = new PrimeNumberGenerator(max); + int counted = generator.countPrimes(); + double estimated = max / Math.log(max); + System.out.printf("%d,%d,%.1f%n", max, counted, estimated); + } + } +} diff --git a/aufgabenblatt1/src/task5/PrimeNumberGeneratorAI.java b/aufgabenblatt1/src/task5/PrimeNumberGeneratorAI.java new file mode 100644 index 0000000..1e95b3c --- /dev/null +++ b/aufgabenblatt1/src/task5/PrimeNumberGeneratorAI.java @@ -0,0 +1,51 @@ +package task5; + +public class PrimeNumberGeneratorAI { + private final int maximum; + + public PrimeNumberGeneratorAI(int maximum) { + this.maximum = maximum; + } + + public void printPrimeNumbers() { + for (int i = 2; i <= maximum; i++) { + if (isPrime(i)) { + System.out.println(i); + } + } + } + + private boolean isPrime(int number) { + if (number < 2) return false; + if (number == 2) return true; + if (number % 2 == 0) return false; + for (int i = 3; i * i <= number; i += 2) { + if (number % i == 0) { + return false; + } + } + return true; + } + + public int countPrimes() { + int count = 0; + for (int i = 2; i <= maximum; i++) { + if (isPrime(i)) { + count++; + } + } + return count; + } + + public static void main(String[] args) { + int[] testValues = {100, 500, 1000, 2000, 5000, 10000, 20000, 50000, 100000, 200000}; + + System.out.println("maximum,Anzahl Primzahlen (Algorithmus),maximum/ln(maximum) (Schätzung)"); + for (int max : testValues) { + PrimeNumberGeneratorAI generator = new PrimeNumberGeneratorAI(max); + int counted = generator.countPrimes(); + double estimated = max / Math.log(max); + System.out.printf("%d,%d,%.1f%n", max, counted, estimated); + } + } +} \ No newline at end of file diff --git a/aufgabenblatt1/src/task5/primzahlen_ergebnisse.csv b/aufgabenblatt1/src/task5/primzahlen_ergebnisse.csv new file mode 100644 index 0000000..57b1d7c --- /dev/null +++ b/aufgabenblatt1/src/task5/primzahlen_ergebnisse.csv @@ -0,0 +1,11 @@ +maximum,Anzahl Primzahlen (Algorithmus),maximum/ln(maximum) (Schätzung) +100,25,21.7 +500,95,80.5 +1000,168,144.8 +2000,303,263.1 +5000,669,587.0 +10000,1229,1085.7 +20000,2262,2019.5 +50000,5133,4621.2 +100000,9592,8685.9 +200000,17984,16385.3 \ No newline at end of file diff --git a/out/production/aufgabenblatt1/solution.md b/out/production/aufgabenblatt1/solution.md deleted file mode 100644 index 10503f8..0000000 --- a/out/production/aufgabenblatt1/solution.md +++ /dev/null @@ -1,6 +0,0 @@ -# Task 1 -![](./task1.png) - -# Task 2 -![](./task2.png) - diff --git a/out/production/aufgabenblatt1/task1.png b/out/production/aufgabenblatt1/task1.png deleted file mode 100644 index 94f2a611d8658e9e074c665a9bd74d735d4ab691..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16357 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 diff --git a/out/production/aufgabenblatt1/task2.png b/out/production/aufgabenblatt1/task2.png deleted file mode 100644 index 65ff82545d54a7424a9b2524b9cf75d23444afa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17767 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 I_1OP^0I|n@t^fc4 diff --git a/out/production/aufgabenblatt1/task3/NumberGuesser.class b/out/production/aufgabenblatt1/task3/NumberGuesser.class deleted file mode 100644 index bc3ceb86eaeda72131006c44e914c3102d4b78c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1989 zcmaJ?ZBrXn6n<_J*koDWLQAQkG_4EOTS@vNQQBx|(I6G@rI)aVEnzpa*`WLr z{h~8|VW#6aV@JVhXZ+e3e}cb7#pmt@2*L=nckey-ygcWeXHWk4=f&>;-a}PK2w@Eo z10CoT=zA(RWws{mYWC5}Q?ud;bmlGF^6m(PQ|W~mqKIkG4RpZ}81Q6ceKPy7xv^rp z_nT&;VY;-i{j-25YUmN@_nkI9tClTSq-~pS41MU=5H~P@Q%9nfw;GgDoQ`e`D!gX|hEgZ0D4=~fYv45`2;6Bhk3(m3u4V5#i{c#P`_Pjz z833P3>Nt<2hEW3-aFJ>5!)UV<(CW%hP2p^z@asmDmR-%I7ZlD*1}8pRtt6&%-P zi+Gw8h^f0ZtGYHCzPq=#7iW9lGH?^O1kP;8b+h2u73n>;yfy9`p0vG&0$xl91#E|| zv&mBia>z4?)tI)bKBNehm(<-IRs6dGO2917;~iC}X(d=vf+*fK$Su+-CYzq)7nhd> zXO-#nmMq&02s1BNYLvuFPDR!hq-&{jOBnIiECsN10>g3wh9}*s=>>jRqpISbKzG@b zmGxO!Z+X!g0pHldAkB6X(v7|;Yx7QF&8(~w;D%JB8%!-9FG+fV_YBDx11DTFazLGf zZ$K|QO}ApsSbl~9&er8M#U_$&+Ht&w=gRu5>8&}djVP7`x_l)PXeudsJMpQG&+xg1 zFH|d^2#onm^qXbbo6fqK4d@nhcScq`$K4Y6rk#*2#URQ9X|LAI##qU5)|>U*@l4w! zM-1n;>gEaR?ZpTtMy{PvEf)n@tCcO!RGllT0Z^z(&WeVHiom5~Ih_Pm1F16d|Ee54 zL0%Xo2}Aq@I7rl_;;w^xvX<)%PcxLOdp)xYkxBdt?Ps1sxX-l*VXjd`5aYj&2Rsc1 z+9=|Eo@j>;=#>*reI+fQvn`)JiOet1et;I)MkM?rwZp#OPU?YHhyHpF{Pm#Z`8+oEgyuh0Pk@)5N z9yb%;VKS50!Q0>RGSN|caztx;?@!A9BYJh1#bx#mNHE4QdU1}s5nSY~N)z`j?(!I8 z569cOQEFup=6mj-8&QP+La#{0>F-14A7Ec@VNbk7bg^%B7q?YECgL{;cL(>_lfogP z;-nIgA!#O9zAOAuy4n^tfimWKue01AlV1FZzyi-9JjN${M=4q6vk2*H39MihU*hb) DBGk1) diff --git a/out/production/aufgabenblatt1/util/ArrayTester.class b/out/production/aufgabenblatt1/util/ArrayTester.class deleted file mode 100644 index 289f88ed87b067a25c6e70fc78f5057740cb2f80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 764 zcmZuv?QRl56g|UkSy;A$g;r6jZT*5G-PY7UQcaA}gaoURN@Dmmz!s)icFnSw^m%*& z{Xr8oK7bEpJhL=@rJL-TxpVHGd+we6@$<`f0MGHjMhb=n)4>wb0)-R#LAt&SM((Tr zi8qJ^(g!L~@e=`~TI*WK2xMom^4+%t8x{-=IR_4w1@gzr_n$_QJbfdBVL0LE)n2Pr z>t>Nh!NO$+D=7X`r*k@uJti9AjMY}#i31h7uOk)2ojCI3q^V1+I#|OM0sB}*)A*%~ z2V((?>b+L2WuuI17Op#}U|pbife4e|Ye_#4Fsrm=;UBTPyG55K~CcZO`c zaPYYD%|7J&$gDRih2eM(yIwZWcb{>o-YA=Ml;*hlr`Q%U6iE~LKN0iDq68c3jP9}g sK9&@>25Q)*l^n5-`|K=FYYptsc!?dm+?nKenVrJkFGk##ng9R* diff --git a/out/production/aufgabenblatt1/util/Util.class b/out/production/aufgabenblatt1/util/Util.class deleted file mode 100644 index b4a7c87cfde5a46a50a7ee3fb3bfe6349c87c72f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2160 zcmZvdPjFLJ6vn^%-b<6brZluoOVb2OLCC+Rpas#=DuQS*ZL!tzZy}E)g;&y~CNGTW zwlnTrxpKxChhfGI3vp2#WxCaI;nJlG7jB%P&V;c8tc56o|0)P;b~sAsxo<81`UXVaHRpdB?j( zvX;}RHbrwLd&fW`qaC8aP03ZJyBJXy_p!Y$SEXO-Fp2*tL5BW z(%zP8l}@Ye-l)}YQc31gsYDDhFy%2BLlIL7ww9>PNX%W?6%wCpR%;6VWw%jV=&WC< zwcc^A)VVTHZdRQ7iqmps9xPhkHMgzMTka~IVX9pImFUtDMGD3xPWqNTr*eJX*$6D{ z&c;TqRd&~1rdgemMAX`yIw$@Ag5f725OKYgW~1VGf#e96DO$Yu=un5A3=W5JjNq$o zqdM<=5WsPpxvpoc%}%4rs23F?^=5NpsnZ~Yz3R5w9;;GeStM!nO&hgF`?lw_C~efM zwLL$@rgrRmnAexd^4ir{laRrEfgRxR(?BnaD%qK^!gms5&KIs5= zfG5Rbf}*tSV|1a;>GgOwS{yG^0lSs@_F#tAeN=XwYZg~$F&9MqkaO`kV$P){Cp+`$ zTxtt@7dK6&;LoS!mSle@}01Xi<=e|{h`+jR5~=7-%ePU3*Aq@Pku!QeyJv? z6KsG8H4HFrlJ9Y*AxH2de9!P!74>s$on9ogdJFroD;QBomtz(ubm3&}HI58=J;GET zV=O7=Ago8|4dW!ChJ3aWQk`N5zwf@MNe?%&@60*sH;;zWpJ6-^61-7jNXbw>GV)mJ0@>_JDTn0qzx`*hc&Bwa zET-cPyh)5OyQsu9O9PF-e9RW@31dR2_yZ*URz1V;KGY916R2s8Unn61sux@k zOUrS{QidF-vF|W(;U4nkc=f(LpD&p4Dn;ZATPTPU|5EUkG^t{P$NYUZM~iXV eT8UgpbQ36vuv-_IFaEpXC3aSKv%=fj)6(DRHCh?~