Dieser Beitrag richtet sich an Anfänger, die Java selbst lernen und Programme durch Ausprobieren mit originellen Ideen schreiben möchten (während sie ein wenig nachforschen). Außerdem wird Code veröffentlicht, der mit Selbstzufriedenheit überhaupt nicht hilfreich ist. Es ist etwas zu tun.
Gleichzeitig mit der Beobachtung des Wachstums von Anfängern mit warmen Augen denke ich, dass es natürlich Orte gibt, an denen Sie die Meinung "Nein, das ist seltsam (# ゚ Д ゚)!?" Haben. Sie können sich also in diesem Fall dazu äußern. Bitte.
Dies ist der zweite Beitrag. Wenn ich auf den Satz zurückblicke, den ich neulich gepostet habe, habe ich falsch verstanden, dass die Beschreibungsmethode in Qiita im HTML-Format war, aber es gibt eine Markdown-Beschreibungsmethode, und dieses Mal möchte ich sie auf diese Weise schreiben. Vielen Dank für Ihren Professor m (_ _) m Ich hoffe es wird leichter zu sehen sein.
(* Als ich nach Hause ging und versuchte zu kompilieren, bekam ich einen Fehler, daher werde ich den korrigierten posten.) (* Ich benutze auch die Random-Klasse, aber ich habe dies kürzlich gelernt, also habe ich es eine Weile versucht.)
Neulich wurde ich gebeten, ein Primzahl-Beurteilungsprogramm mit Java zu erstellen, und der folgende Code wurde mit einem Doy-Gesicht geschrieben.
System.out.println("Zufälliges Programm zur Beurteilung von Primzahlen");
java.util.Random rm = new java.util.Random();
int s = rm.nextInt(100);
if (s == 2 || s == 3) {
System.out.println(s + "Ist eine Primzahl");
} else if (s % 2 == 0 || s % 3 == 0) {
System.out.println(s + "Ist keine Primzahl");
} else {
System.out.println(s + "Ist eine Primzahl");
}
(Abgesehen von dem Tsukkomi, dass der Code schmutzig ist)
** Zunächst einmal kannten Sie die "Definition von Primzahlen" nicht. ** **.
(Ich mag diese Art von mathematischem Problem, weil ich eine literarische Person bin, aber ich erinnere mich an die Formeln und so weiter jenseits des Universums)
Laut Wikipedia-Lehrer
"Eine Primzahl ist eine natürliche Zahl, die keine anderen Brüche als die offensichtlichen positiven Brüche (1 und sich selbst) hat und nicht 1 ist. 』\
Nun, der Punkt ist
** Ich denke, dass eine natürliche Zahl, die nur durch die Zahl selbst und 1 geteilt werden kann, eine Primzahl ist, und wenn sie durch eine andere Zahl teilbar ist, ist sie keine Primzahl. ** **.
Zum Beispiel scheint es unendlich wie 2,3,5,7,11 zu springen.
Wenn ich das obige Programm ein wenig erkläre, kann es fehlerfrei kompiliert werden, aber selbst Zahlen, die keine Primzahlen sind, werden als Primzahlen beurteilt.
Ein solches Programm wird aus der Idee vervollständigt, dass wenn n durch 2 teilbar ist, es eine gerade Zahl ist und wenn n durch 3 teilbar ist, n eine ungerade Zahl ist.
Zum Beispiel ist 121 das Quadrat von 11, es ist also keine Primzahl, aber es ist nicht durch 2 oder 3 teilbar, also wird es als Primzahl beurteilt.
(Es ist ein wenig peinlich, wenn man vom ersten Schuljahr an neu anfängt.)
System.out.println("Programm zur Beurteilung der Primzahl");
int v = 123;
System.out.println("Die eingegebene Nummer ist "" + v + ""ist");
if (v < 2) {
System.out.println("Es wurde eine Zahl unter 2 eingegeben");
} else if (v == 2) {
System.out.println(v + "Ist eine Primzahl");
} else {
boolean issosu = true;
for (int u = 2; u < v; u++) {
if (v % u == 0) {
is = false;
}
}
if (isSosu) {
System.out.println(v + "Ist eine Primzahl");
} else {
System.out.println(v + "Ist keine Primzahl");
}
}
(Abgesehen von dem Tsukkomi, dass der Code schmutzig ist)
Ich fürchte, dies wird die Primzahl korrekt bestimmen, aber die Fertigstellung dauerte zwei Tage. Ich habe mit meinem Bruder darüber gesprochen, welche Art von Zahlen Primzahlen sind, und wenn sie durch 2 teilbar sind, ist es eine gerade Zahl, und von anderen Zahlen ist eine natürliche Zahl, die nicht das Quadrat einer bestimmten Zahl ist, eine Primzahl Hier ist die Antwort, die herauskam, als man sich auf die Netzsuche stützte
"** n, das nicht durch eine Zahl kleiner als die natürliche Zahl n teilbar ist, ist eine Primzahl **"
Außerdem
"** n ist eine Primzahl, wenn n 2 ist, Fehler ** wenn n kleiner als 2 ist"
Nachdem n im Voraus auf Zahlen größer als 2 begrenzt wurde, wird ein Programm erstellt, das feststellt, dass "eine Zahl, die nicht durch n> v teilbar ist" oder "eine Zahl, die nicht durch n> = n-1 teilbar ist", eine Primzahl ist. tat.
Wenn Sie jedoch einfach die for-Anweisung verwenden,
5 ist keine Primzahl 5 ist keine Primzahl 5 ist eine Primzahl 5 ist keine Primzahl 5 ist keine Primzahl . . . Ich begann zu beurteilen, ob 5 (die eingegebene Zahl) eine Primzahl mit der im for-Satz ausgedrückten Zahl war, und ich kämpfte hart.
Nun, ich wusste nicht, wie ich es lösen sollte, also habe ich ein bisschen gegoogelt, aber ich habe die Variable isSosu mit dem booleschen Typ definiert und den Anfangswert auf true gesetzt. Dann wird in der for-Anweisung u zwischen Zahlen 1 kleiner als v geschleift, und wenn u% v == 0 ist, ist u durch eine natürliche Zahl teilbar, die kleiner als seine eigene Zahl ist. Ersetzen Sie isSosu durch false. Auf diese Weise ist es falsch, wenn es teilbar ist, und in anderen Fällen kann es erneut berücksichtigt werden, und wenn (isSosu) {... und true case kann System.out.println sein. tat. (Hmm, das ist schwer zu verstehen.)
Es war bedauerlich, dass ich es nicht ganz alleine schaffen konnte, weil ich nicht auf die Verwendung des Booleschen Typs achten konnte und es gegoogelt habe, aber wenn ein Anfänger mit dem Wissen eines Einführungsbuchs ein Primzahl-Beurteilungsprogramm erstellt, dann dieses Ich frage mich, ob es so sein wird, aber ich denke, es gibt wahrscheinlich eine bessere und effizientere Möglichkeit, es zu schreiben. Ich bin nicht gut in Mathematik und habe noch nicht viele Java-Programme geschrieben.
Daher denke ich vorerst, dass die Fähigkeit, dieses Primzahl-Beurteilungsprogramm zu schreiben, eines der Hindernisse für den Beweis ist, wenn geprüft wird, ob das Programm zusammengestellt werden kann. Ich denke, dass ein Anfänger einige Probleme beim Erstellen eines Programms lösen wird, aber eine der Antworten lautet wie folgt: Ich hoffe, Sie können es lesen, als ob Sie es sehen möchten. Ich denke.
Recommended Posts