Beberapa orang mengatakan rasa ingin tahu membunuh kucing itu. Lainnya mengatakan itu kotak dan racun. RSPCA mengatakan Erwin Schrödinger perlu kehilangan hak untuk memiliki hewan peliharaan.
Dengan aktivis hak-hak binatang di luar rumahnya. The kucing pembunuh ilmuwan Schrödinger akhirnya datang dengan penemuan terbesarnya. Campuran khusus radioaktif dari unobtanium dan handwavium yang dapat memiliki waktu paruh, dan satu gram produk ini mampu membunuh makhluk hidup apa pun. Sayangnya, ketika ia mencoba mengujinya pada kucing terakhirnya: Bob, ia lupa bahwa kucing memiliki 9 nyawa, dan karenanya perlu 9 gram untuk membunuh. Dengan sedikit air tetapi tanpa makanan, Bob yang malang akan hidup tepat 1 minggu (7 hari) jika produk itu tidak membunuhnya terlebih dahulu.
Tugas: Diberikan input dari massa dalam miligram dan waktu paruh dalam milidetik - keduanya bilangan bulat yang dapat melebihi 2 ^ 31, menulis sebuah program yang menampilkan apakah produk super misteri membunuh kucing, atau jika waktu 1 minggu batas berakhir terlebih dahulu. Asumsikan benar / ya / 1 / apa pun yang ditentukan dalam jawaban adalah untuk saat dia tidak mati karena kelaparan.
Agar produk membunuhnya, total 9 gram harus membusuk. Jadi dari sampel 18 gram, 1 paruh harus berlalu. Jika sampel mengandung kurang dari atau sama dengan 9 gram, ini tidak akan pernah tercapai, dan dengan demikian dapat langsung diasumsikan 1 minggu akan berlalu sebelum 9 gram meluruh.
Anda dapat mengasumsikan:
- Bob meninggal mikrodetik 9 gram telah membusuk.
- Perubahannya massal karena pembusukan tidak masalah.
- Semua hari dan waktu mengikuti waktu bumi yang diterima secara umum.
- Kotak yang disegel Bob tidak bisa dipecahkan dan tidak bisa dibuka, jadi tidak ada kemungkinan kematian karena sebab lain.
- Oksigen juga tidak ada masalah.
- Jika keduanya terjadi pada waktu yang sama, output keduanya dapat diterima.
- Semua input harus di bawah 2 ^ 63-1
Kasus uji:
Contoh:
18000 604800001
Agar 9 gram membusuk, tepat 1 setengah masa hidup harus berlalu (18000/2 = 9000 miligram atau 9 gram). 1 setengah kehidupan adalah 604800001 milidetik, atau 168 jam dan 1 milidetik, atau tepat 1 minggu dan 1 milidetik. Karena Bob meninggal karena kelaparan pada 1 minggu, hasilnya salah karena ia meninggal karena kelaparan tepat sebelum batas produk 9 gram tercapai.
8000 40000 false
70000 800 true
18000 604800000 either
18000 604800001 false
18000 604799999 true
1 1 false
100000 1 true
1000000000 1000000000 true
Mencetak: Secara alami kami ingin penderitaan Bob berakhir dengan cepat, dan waktu paruh yang lebih pendek adalah yang terbaik. Waktu paruh dan byte keduanya berakhir di E, jadi jelas jumlah byte terpendek menang.
true
atau tidakfalse
?λ
dan massam
,m-m*(1/2)**(604800000/λ) > 9000
(atau≥
, karena kasing bisa jalan baik)Jawaban:
Python 3, 33 byte
Penjelasan:
Coba di sini
sumber
lambda a,b:2**(-6048e5/b)+9e3/a<1
CJam (22 byte)
Demo online
Pembedahan
Penjelasan singkat tentang matematika: jika paruh
λ
waktu kemudian setelah waktut
proporsi bahan radioaktif yang tersisa adalah(1/2)^(t/λ)
, maka proporsi membusuk1 - (1/2)^(t/λ)
.sumber
Fourier, 51 byte
Saya harus mengakui bahwa saya tidak sepenuhnya memahami program ini ... Terutama hanya terjemahan dari kode Python TheNumberOne.
Catatan ini adalah program pertama yang saya tulis untuk PPCG yang menggunakan
@
, fungsi output yang jelas.Cobalah online!
sumber
Sebenarnya, 20 byte
Cobalah online!
Penjelasan:
sumber
Dyalog APL , 19 byte
9E3≤
adalah 9000 lebih kecil dari atau sama dengan⊣-
argumen kiri (massa) minus⊣×
kali argumen kiri.5*
½ untuk kekuatan6048E5÷⊢
604800000 dibagi dengan argumen yang tepat (waktu paruh)Tidak perlu tanda kurung, karena APL benar-benar dari kanan ke kiri.
TryAPL online!
sumber