Übungsblatt (Pseudocode)

Hallo!
Hoffe, dass es in Ordnung ist, wenn ich es hier Poste...
Stehe z.Z ziemlich aufm Schlauch u. muss dieses Üb leider schon bis morgen abgeben :(

1.) Geben Sie informell einen Algorithmus an, der diejenige natürliche Zahl bestimmt,
welche der Quadratwurzel einer vorgegebenen natürlichen Zahl x am nächsten ist.

es darf nur +, *, Vergleiche, Fallunterscheidung u Schleifen genutzt werden und ich weiß nicht wie ich es schreiben kann ohne modulo oder division :(


2.) Geben Sie informell einen Algorithmus an, der eine Liste mit Primzahlen erstellt,
die kleiner als eine vorgegebene Zahl y sind.


Wäre super wenn mir jemand helfen könnte!
 
Warum du nur mit Division und Modulo kannst versteh ich nicht...

Denkanstoss:

1) Bei 1 anfangen, quadrieren, nächste Zahl nehmen (also 2), die quadrieren, Ergebnisse vergleichen, und was näher dran ist, kommt wahrscheinlicher in Frage. So musst du dann einfach weitergehen.

2) Primzahlalgorithmus ist nicht schwer, da du nur bis zu einer bestimmten Zahl prüfen musst, was eine Primzahl von 0 bis zur gesuchten ist. Dazu einfach das anwenden, was du über Primzahlen weisst.


Mehr Hilfe sollte dir eigentlich auch nicht gegeben werden, da das schon fast alles aussagt.
 
Also dass man erstmal nur ungerade Zahlen nimmt und nur bis zur Zahl/2 auf Teiler prüft, sollte mit ein bisschen nachdenken schon logisch sein. Damit schafft der einfache Algorithmus schon wesentlich mehr.

Btw: ich denke mal nicht, dass es bei der Aufgabe um Effezienz geht, sonst sollte man normalerweise verschiedene Lösungen implementieren und auf Geschwindigkeit testen.
Und da der OP schon bei solch "einfachen" Aufgaben auf dem Schlauch steht, sollte man ihm vllt nicht mit schon komplexeren Algorithmen kommen.
 
Zurück
Oben