Sie erhalten vier Zahlen. Die ersten drei sind , bzw. für die Sequenz:
Sie können diese vier Zahlen auf beliebige Weise eingeben. Die Ausgabe sollte eine von zwei unterschiedlichen Ausgaben sein, die in Ihrer Antwort erwähnt werden. Eine bedeutet, dass die vierte Zahl ein Term in der Sequenz ist (die obige Gleichung hat mindestens eine Lösung für die eine ganze Zahl ist, wenn , , und sind ersetzt die angegebenen Werte), der andere bedeutet das Gegenteil.
Dies ist Code Golf, daher gewinnt die kürzeste Antwort in Bytes. Ihr Programm sollte für alle Eingaben von funktionieren, bei denen die Zahlen negativ oder positiv (oder 0), dezimal oder ganzzahlig sind. Um Probleme zu vermeiden, aber die Komplexität beizubehalten, enden Nicht-Ganzzahlen immer nur mit . Standardschlupflöcher nicht erlaubt.
Testfälle
a |b |c |T_n |Y/N
------------------------
1 |1 |1 |1 |Y #n=0
2 |3 |5 |2 |N
0.5 |1 |-2 |-0.5|Y #n=1
0.5 |1 |-2 |15.5|Y #n=5
0.5 |1 |-2 |3 |N
-3.5|2 |-6 |-934|Y #n=-16
0 |1 |4 |7 |Y #n=3
0 |3 |-1 |7 |N
0 |0 |0 |1 |N
0 |0 |6 |6 |Y #n=<anything>
4 |8 |5 |2 |N
quelle
JavaScript (ES7), 70 Byte
Gibt einen booleschen Wert zurück.
Probieren Sie es online aus!
Wie?
Der Klarheit halber definieren wir . (Dieselbe Variable wird erneut verwendet, um dieses Ergebnis im JS-Code zu speichern.)d= T.n- c t
Falla ≠ 0
Die Gleichung ist wirklich quadratisch:
Mit ist die Diskriminante:a′=2a
und die Wurzeln sind:
Die Gleichung lässt eine Ganzzahlwurzel zu, wenn eine Ganzzahl ist und entweder:Δ−−√
Falla=0,b≠0
Die Gleichung ist linear:
Es lässt eine ganzzahlige Wurzel zu, wenn .d≡0(modb)
Falla=0,b=0
Die Gleichung hängt nicht mehr von :n
quelle
05AB1E , 35 Bytes
Port of @Arnauld 's JavaScript-Antwort , also stellen Sie sicher, dass Sie ihn positiv bewerten!
Übernimmt die Eingabe im Format .[t,c],a,b
Probieren Sie es online aus
Erläuterung:
quelle
Ų
paar Bytes sparen? (Wahrscheinlich nicht, da wir später sowieso die Quadratwurzel berechnen müssen.)Ų
mit negativen Werten gibt irgendwie den Wert selbst statt0
.. 2.Ų
mit Dezimalwerten (auch mit.0
) gibt0
statt1
ob sie ein Quadrat sind oder nicht (dies ist ein Fehler, den ich werde Bericht an Adnan). 3. Auch wenn beide und funktioniert hätte-4.0
führen würde0
statt-4.0
und4.0
führen würde1
statt0
, wäre es immer noch zwei Bytes sein , da wir die Quadratwurzel und die dreifach benötigen würde Duplikate werden getrennt:tÐdi
vsDŲitD
; oder derzeitDÄïŲitD
, um die beiden anderen genannten Probleme zu beheben.Ų
bei negativen Eingaben inkonsistent .Wolfram Language (Mathematica) , 38 Bytes
Probieren Sie es online aus!
quelle
Gelee , 15 Bytes
Probieren Sie es online aus!
Eingebaut hilft hier, behandelt aber nicht a = b = 0, so dass dies speziell behandelt wird.
quelle