Alcuni dicono che la curiosità abbia ucciso il gatto. Altri dicono che era la scatola e il veleno. La RSPCA afferma che Erwin Schrödinger deve perdere il diritto di possedere animali domestici.
Con attivisti per i diritti degli animali fuori dalla sua casa. Lo scienziato assassino di gatti Schrödinger ha finalmente escogitato la sua più grande invenzione. Una speciale miscela radioattiva di unobtanium e handwavium che può avere qualsiasi emivita e un singolo grammo di prodotto è in grado di uccidere qualsiasi creatura vivente. Sfortunatamente, quando ha provato a testarlo sul suo ultimo gatto: Bob, ha dimenticato che i gatti hanno 9 vite e quindi avrebbe bisogno di 9 grammi per uccidere. Con un po 'd'acqua ma senza cibo, il povero Bob vivrà esattamente 1 settimana (7 giorni) se il prodotto non lo uccide per primo.
Il compito: dato un input di una massa in milligrammi e un'emivita in millisecondi - entrambi numeri interi che possono superare 2 ^ 31, scrivere un programma che emetta se il super prodotto misterioso uccide o meno il gatto o se è 1 settimana il limite scade prima. Assumi vero / sì / 1 / qualsiasi cosa specificata nella risposta è per quando non muore di fame.
Perché il prodotto lo uccida, devono decadere in totale 9 grammi. Quindi, su un campione di 18 grammi, deve passare 1 emivita. Se il campione contiene meno o uguale a 9 grammi, ciò non sarà mai raggiunto e quindi si può presumere immediatamente che passerà 1 settimana prima che decadano 9 grammi.
Puoi presumere:
- Bob muore il microsecondo 9 grammi è decaduto.
- Il cambiamento è di massa a causa del decadimento non importa.
- Tutti i giorni e gli orari seguono l'ora della Terra generalmente accettata.
- La scatola in cui è sigillato Bob è infrangibile e non aperto, quindi non c'è possibilità di morte per altre cause.
- Anche l'ossigeno non è un problema.
- Se entrambi si verificano contemporaneamente, l'output è accettabile.
- Tutti gli ingressi dovrebbero essere inferiori a 2 ^ 63-1
Casi test:
Esempio:
18000 604800001
Per far decadere 9 grammi, deve passare esattamente 1 emivita (18000/2 = 9000 milligrammi o 9 grammi). 1 emivita è 604800001 millisecondi, o 168 ore e 1 millisecondo, o esattamente 1 settimana e 1 millisecondo. Poiché Bob muore di fame esattamente 1 settimana, l'output è falso poiché è morto di fame poco prima del raggiungimento del limite di 9 grammi di prodotto
8000 40000 false
70000 800 true
18000 604800000 either
18000 604800001 false
18000 604799999 true
1 1 false
100000 1 true
1000000000 1000000000 true
Punteggio: Naturalmente vogliamo che la sofferenza di Bob finisca rapidamente, quindi è meglio un'emivita più breve. L'emivita e il byte terminano entrambi in E, quindi vince il conteggio dei byte più breve.
trueo false?
λe massa m, m-m*(1/2)**(604800000/λ) > 9000(o ≥, quanto il caso limite può andare in entrambi i casi).