The Alternating Harmonic Series adalah seri konvergen yang terkenal.
"Jelas", jelas bahwa ia menyatu dengan log natural 2. Atau apakah itu?
Karena seri ini tidak sepenuhnya konvergen , dengan hanya menata ulang persyaratan, saya dapat membuatnya mendekati apa pun yang saya inginkan. Misalkan saya ingin seri konvergen ke e . Yang harus saya lakukan adalah ini:
Jika Anda tidak menangkap polanya, tidak ada yang jelas. Begini cara kerjanya:
- Pertimbangkan ketentuan deret harmonik bolak-balik dari segi positif dan negatif.
- Tambahkan bersama cukup istilah positif untuk melampaui target kami (e). (alias
sum > target
) - Kurangi istilah negatif berikutnya.
- Kembali ke 2.
Perhatikan bahwa pada langkah 2, jika kami sum == target
, Anda harus menambahkan istilah positif lain.
Dari sini kita dapat menentukan urutan yang terkait dengan setiap angka sebagai berikut:
- Ikuti algoritma di atas
- Untuk setiap istilah positif, output 1.
- Untuk setiap istilah negatif, hasilkan 0.
Sebut urutan ini sebagai "Pola Bit yang Harmonis" dari sebuah angka. Misalnya, HBP e dimulai sebagai:
1, 1, 1, 1, <32 times>, 0, 1, 1, <54 times>, 0, 1, 1, ...
Tantangan Anda:
Anda akan diberikan:
- target input rasional dalam kisaran [-10, 10] (catatan: bahkan mencapai 10 melalui seri harmonik membutuhkan jutaan istilah). Ini mungkin desimal (alias
1.1
) atau Anda dapat mengambil rasional langsung (alias12/100
) - suatu input
int
n positif , yang menentukan jumlah syarat dari Pola Bit Harmonis untuk output.
Anda diharapkan untuk menghasilkan Pola Bit Harmonis yang tepat dari target ke jumlah syarat yang ditentukan. Anda dapat menampilkan nilai ruang yang dipisahkan, dipisahkan oleh koma, tanpa pemisahan, dll; sepanjang pola 0s dan 1s terlihat jelas dan dibaca dari kiri ke kanan dengan pemisahan yang konsisten.
Uji Kasus
>>> 0, 1
1
>>> 0, 2
10
>>> 0, 7
1000010
>>> 1, 10
1101011011
>>> 1.01, 3
110
>>> 1.01, 24
110101101101101101101101
>>> 2.71, 32
11111111111111111111111111111111
>>> 2.71, 144
111111111111111111111111111111110111111111111111111111111111111111111111111111111111111101111111111111111111111111111111111111111111111111111111
>>> -9.8, 100
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Perhatikan bahwa karena -9.8
sangat besar, yang pertama 1
adalah output di sekitar 149496620
istilah th (yang dihitung melalui float, jadi nilainya mungkin tidak tepat).
h a p q
bukannyah p q a
menyimpan byte.Python 3,
128124 byteIni memanfaatkan
Fraction
kelas Python .sumber
'x'*int(input())
?