CS50
Algoritmus
\[f(x) = \sqrt{x}\]Ein Algoritmus ist wie eine Funktion. “Etwas wird ausgeführt”. Stellen wir uns mal vor Harry Potter schickt Wilhelmine Kaffee machen.
Dann ist der Input, “Wilhelmine, mach bitte eine Tasse Kaffee” und der Output ist eine Tasse Kaffee auf dem Nachttisch.
Wie Wilhelmine das ganze vollbracht hat, etwas mit French Press oder Mokka Maker, das weiß Harry nicht.
Miau
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <cs50.h>
#include <stdio.h>
void meow(int n);
int main(void)
{
meow(3);
}
void meow(int n)
{
for (int i = 0; i < n; i++)
{
printf("meow\n");
}
}
Diesen Code habe ich mir von Gemini aus einem Screenshot extrahieren lassen und dann gefragt, warum main(void) nicht streikt, weil meow, erst viel später deklariert wird.
Hier Gems Antwort:
void meow(int n);
This line is a function prototype (or forward declaration).
Wenn das nicht verrückt ist, was dann? Die von Gemini generierte CS50-Ente!
Logarithmus
Diese Formel auf Deutsch ist relativ einfach
\[\log_2(n) = x\]2 hoch x ergibt “n”. Die Reihenfolge hier ist aber erst (2) dann (n) und dann (x).
Auf Englisch sagt man “The logarithm of n to the base two is x”.
Syntagma
Eine Präpositionalphrase ist ein Syntagma, ein sprachliches Puzzleteil.
Ein Signifikat ist ein Fancy-Word für Bedeutung.
Was zum Teufel bedeutet Logaritmus.
Wir wissen es nicht. Aber es tritt immer in Verbindung mit 2 Präpositionalphrasen auf.
zur basis ZAHL von ZAHL
Wie muss man 2 potenzieren um n zu bekommen
Antwort x!
Also bedeutet Logaritmus “Wie muss man die Basis potenzieren”.
Wilde zahlen
\[y= \log_5(999)\]Wie muss man die Basis potenzieren, um 999 zu erhalten.
Übersetzung
“The logarithm of 999 to the base 5 equals x.” (korrekte Version)
“The logoarithm to the base of 5 of 999 equals x”.
viel Bedeutung im “of”
Eigentlich bedeutet dieses von 999 “damit bei der Potenzierung 999 rauskommt”.
Ist das nicht wild. Ich finde schon. Ein Deutscher würde übriens nicht “wild” sagen. Er würde “verrückt” sagen. Das ist ein Anglizismus.
Warum dieser Post
So etwas in der Art kommt in CS50 vor und ich möchte es verstehen.
Ich bin nicht nur Produzent, sondern auch Konsument dieses Blogs!
Ln
\[y= \log_{10}(n)\]Mit welchem x muss man 10 potenzieren, um n zu bekommen.
Bildchen
Im Prinzip ist Logaritmus das Fragen nach der Potenz und führt zu einem vertauschen der x und y-Achse. Das mag das Gehirn überhaupt nicht.
x und y- Achse
Die Y-Achse ist das was gen Himmel ragt. Die x-Achse guckt nach rechts
Auf der X-Achse findet man nach CS50-Guru Malan die größe des Problems (z.B. Bitcoin Wallets erraten), es ist einfach nur eine Zahl zwischen 1 und
\(2^256\).
Und auf der Y-Achse findet man die Zeit, die nötig ist, um dieses Problem zu bewältigen.
Um den Logaritmus eines Problems zu bewältigen - im Vergleich zum Problem - muss man immer weniger Zeit aufwenden.
Was ist $$
\ln(99) = 4.59
$$
im Vergleich zu
\[\ln(9999) = 9.21\]im Verlgeich zu
\[\ln(999999) = 13.81\]Wie man sieht, wächst es nur ein Bischen



