Es ist ungefähr ein halbes Jahr her, seit ich angefangen habe, Python-Code zu schreiben, und ich habe mich daran gewöhnt, über Algorithmen nachzudenken. Als ich den Code für die Fibonacci-Sequenz schrieb und auf Twitter murmelte, von einem OB der Oberstufe "Fibonatch geht oft zu Schulungen und Prüfungen, deshalb ist es besser, in verschiedenen Sprachen schreiben zu können." Da ich den Rat erhalten habe, habe ich beschlossen, ihn in einer anderen Sprache als Python anzuzeigen, und dabei habe ich beschlossen, die Merkmale jeder Sprache zu entdecken.
** Anzeigemethode ** Ich werde die Erklärung zur Fibonacci-Zahlenfolge weglassen. Wenn Sie es nicht wissen, googeln Sie (runder Wurf) Die anzuzeigende Zahlenspalte beginnt mit [1,1], gibt einen numerischen Wert ein und wird mit 2 oder weniger als [1,1] angezeigt. Wenn es 2 oder mehr ist, wird die Zahlenfolge [1,1, ~~, n] des eingegebenen numerischen Werts ausgegeben.
python
001.py
l = [1,1]
i = int(input("Bitte geben Sie die Länge der Zahlenspalte ein"))
if i < 2:
print(l)
else:
for f in range(2,i):
l.append(l[f-1]+l[f-2])
print(l)
Ich denke, dass es einfacher ist, Sequenzbeziehungen zu schreiben als in anderen Sprachen.
Java
001.java
import java.io.InputStreamReader;
import java.util.Scanner;
public class _main_ {
public static void main(String[] args){
int n1 =1;
int n2 =1;
int n3;
System.out.print("Bitte geben Sie die Länge der Nummernspalte ein, die Sie suchen möchten\n");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
if (2 < a){
System.out.print(n1+" "+n2+" ");
for(int x=2;x<a;x++){
n3= n1 + n2;
System.out.print(n3+" ");
n1 = n2;
n2 = n3;
}
}
}
}
Ich habe nicht viel über Java gelernt, also ist es wahrscheinlich verrückt. Die Methode besteht darin, n3 auszugeben, was die Summe von n1 und n2 ist, und dann jede Zahl zu ersetzen.
C++
001.cpp
#include <stdio.h>
int main(void) {
int x = 2;
int i[255] = { 1, 1 };
printf("Geben Sie die Nummer in die Zahlenspalte ein, die Sie suchen möchten");
scanf_s("%d", &x);
if (x < 3) {
printf("%d %d", i[0], i[1]);
}
else if (255 < x)
printf("Es wurde ein Wert eingegeben, der höher als der angegebene Wert ist");
else
{
for (int n = 2; n < x; n++) {
i[n] = i[n - 2] + i[n - 1];
}
for (int v = 0; v < (sizeof(i) / sizeof(i[0]))-1; v++) {
if (i[v] != 0)
printf("%d ", i[v]);
else
break;
}
}
return 0;
}
Ich habe versucht, dies basierend auf der Python-Methode zu erstellen, aber c ++ hat die Einschränkung, dass die Länge des Arrays von Anfang an festgelegt werden muss, daher war ich ziemlich verärgert. Ich habe versucht, den Maximalwert mit dem eingegebenen Wert abzugleichen, aber es hat nicht funktioniert, also habe ich aufgegeben.
*** Was ich nach dem Schreiben gefunden habe *** ・ Python ist einfacher als andere Sprachen
・ Ich denke, es wird etwas einfacher zu schreiben sein, wenn ich weiß, wie man den Maximalwert eines Arrays mit Variablen in C ++ bestimmt.
・ In Zukunft möchte ich in der Lage sein, in verschiedenen Sprachen wie Javascript Julia zu schreiben, die ich zu berühren begann.
・ Ich denke, es gibt eine Möglichkeit, C ++ - und Java-Code noch einfacher zu machen. Deshalb möchte ich die Qualität des Codes untersuchen und verbessern.
Recommended Posts