Einige Leute sagen, Neugierde habe die Katze getötet. Andere sagen, es war die Kiste und das Gift. Der RSPCA zufolge muss Erwin Schrödinger das Recht verlieren, Haustiere zu besitzen.
Mit Tierschützern vor seinem Haus. Der Katzenmörderwissenschaftler Schrödinger hat endlich seine größte Erfindung erfunden. Eine spezielle, radioaktive Mischung aus Unobtanium und Handwavium, die eine beliebige Halbwertszeit haben kann, und ein einziges Gramm des Produkts kann jedes Lebewesen töten. Leider vergaß er, als er versuchte, es an seiner letzten Katze zu testen: Bob, dass Katzen 9 Leben haben und daher 9 Gramm benötigen würden, um sie zu töten. Mit etwas Wasser, aber ohne Nahrung, wird der arme Bob genau 1 Woche (7 Tage) leben, wenn das Produkt ihn nicht zuerst tötet.
Die Aufgabe: Geben Sie eine Masse in Milligramm und eine Halbwertszeit in Millisekunden ein - beides ganze Zahlen, die 2 ^ 31 überschreiten können. Schreiben Sie ein Programm, das ausgibt, ob das mysteriöse Superprodukt die Katze tötet oder ob es 1 Woche ist Das Limit läuft zuerst ab. Angenommen, wahr / ja / 1 / alles, was in der Antwort angegeben ist, gilt, wenn er nicht an Hunger stirbt.
Damit das Produkt ihn tötet, müssen insgesamt 9 Gramm verfallen. Von einer Probe von 18 Gramm muss also 1 Halbwertszeit vergehen. Wenn die Probe weniger als oder gleich 9 Gramm enthält, wird dies niemals erreicht, und daher kann sofort davon ausgegangen werden, dass 1 Woche vergeht, bevor 9 Gramm verfallen.
Sie können annehmen:
- Bob stirbt in der Mikrosekunde, in der 9 Gramm verfallen sind.
- Die Änderung der Masse aufgrund des Zerfalls spielt keine Rolle.
- Alle Tage und Zeiten folgen der allgemein anerkannten Erdzeit.
- Die Schachtel, in der Bob versiegelt ist, ist unzerbrechlich und nicht zu öffnen, so dass keine Todesgefahr aufgrund anderer Ursachen besteht.
- Sauerstoff ist auch kein Problem.
- Wenn beide genau zur gleichen Zeit auftreten, ist jede Ausgabe akzeptabel.
- Alle Eingaben sollten unter 2 ^ 63-1 liegen
Testfälle:
Beispiel:
18000 604800001
Damit 9 Gramm verfallen, muss genau 1 Halbwertszeit verstrichen sein (18000/2 = 9000 Milligramm oder 9 Gramm). 1 Halbwertszeit beträgt 604800001 Millisekunden oder 168 Stunden und 1 Millisekunde oder genau 1 Woche und 1 Millisekunde. Da Bob genau nach einer Woche an Hunger stirbt, ist die Ausgabe falsch, da er kurz vor Erreichen der 9-Gramm-Produktgrenze an Hunger gestorben ist
8000 40000 false
70000 800 true
18000 604800000 either
18000 604800001 false
18000 604799999 true
1 1 false
100000 1 true
1000000000 1000000000 true
Wertung: Natürlich möchten wir, dass Bobs Leiden schnell ein Ende hat, und deshalb ist eine kürzere Halbwertszeit am besten. Die Halbwertszeit und das Byte enden beide mit E, so dass eindeutig die kürzeste Anzahl an Bytes gewinnt.
true
oderfalse
?λ
und Massem
,m-m*(1/2)**(604800000/λ) > 9000
(oder≥
, da der Rand Fall gehen oder so).Antworten:
Python 3, 33 Bytes
Erläuterung:
Versuch es hier
quelle
lambda a,b:2**(-6048e5/b)+9e3/a<1
CJam (22 Bytes)
Online-Demo
Präparation
Eine kurze Erklärung der Mathematik: Wenn die Halbwertszeit
λ
dann nach einiger Zeitt
der Anteil des verbleibenden radioaktiven Materials ist(1/2)^(t/λ)
, so ist der Anteil zerfallen1 - (1/2)^(t/λ)
.quelle
Fourier, 51 Bytes
Ich muss zugeben, dass ich dieses Programm nicht vollständig verstehe ... Hauptsächlich nur eine Übersetzung des Python-Codes von TheNumberOne.
Beachten Sie, dass dies das erste Programm ist, das ich für PPCG geschrieben habe und das die Funktion zum Löschen der
@
Ausgabe verwendet.Probieren Sie es online!
quelle
Eigentlich 20 Bytes
Probieren Sie es online!
Erläuterung:
quelle
Dyalog APL , 19 Bytes
9E3≤
ist 9000 kleiner oder gleich⊣-
das linke Argument (Masse) minus⊣×
das linke argument mal.5*
½ hoch auf6048E5÷⊢
604800000 geteilt durch das richtige Argument (Halbwertszeit)Klammern sind nicht erforderlich, da APL nur von rechts nach links ausgeführt wird.
TryAPL online!
quelle