Urutan SUDSI ( su m, d ifference, s wap, i ncrement) adalah deretan integer yang aneh yang nampak menunjukkan perilaku yang agak kacau. Ini dapat dihasilkan sebagai berikut:
Biarkan S menjadi daftar tak terbatas dari alam nomor: 1 2 3 4 5 6 ...
. Biarkan S i menunjukkan satu-diindeks i th elemen S . Jadi pada awalnya, S 1 adalah 1, S 2 adalah 2, dll. (Tidak ada S 0 ).
Dimulai dengan S 1 dan S 2 ...
- Hitung jumlah mereka:
sum = S1 + S2
- Hitung perbedaan absolut mereka (yang lebih besar dikurangi yang lebih kecil):
diff = |S1 - S2|
Tukar kedua nilai dalam S pada indeks jumlah dan perbedaan:
swap(Ssum, Sdiff)
Tambahkan indeks S yang sedang Anda kerjakan. Jadi lain kali Anda akan menghitung jumlah dan selisih S 2 dan S 3 , dan waktu setelah itu akan menjadi S 3 dan S 4 , dll.
- Ulangi proses ini tanpa batas.
Inilah beberapa tahap pertama S saat proses ini diterapkan. Tanda kurung []
mengelilingi dua nilai yang akan dijumlahkan dan dibedakan.
S asli :
[1 2] 3 4 5 6 7 8 9 10 11 12 ...
Setelah S 3 ( 3 = 1 + 2
) dan S 1 ( 1 = |1 - 2|
) ditukar:
3 [2 1] 4 5 6 7 8 9 10 11 12 ...
Setelah S 3 dan S 1 ditukar:
1 2 [3 4] 5 6 7 8 9 10 11 12 ...
Setelah S 7 dan S 1 ditukar:
7 2 3 [4 5] 6 1 8 9 10 11 12 ...
Setelah S 9 dan S 1 ditukar:
9 2 3 4 [5 6] 1 8 7 10 11 12 ...
Setelah S 11 dan S 1 ditukar:
11 2 3 4 5 [6 1] 8 7 10 9 12 ...
Setelah S 7 dan S 5 ditukar:
11 2 3 4 1 6 [5 8] 7 10 9 12 ...
dll.
Urutan SUDSI didefinisikan sebagai urutan elemen pertama dalam setiap daftar ini. Jadi beberapa syarat pertama dari urutan SUDSI adalah 1 3 1 7 9 11 11
.
Berikut adalah 200 syarat pertama dari urutan SUDSI (20 per baris):
1 3 1 7 9 11 11 11 15 15 19 19 19 19 19 19 19 19 19 19
19 19 19 19 19 19 19 19 57 59 59 59 59 59 59 59 59 59 77 79
81 83 85 87 89 91 91 91 91 91 91 91 91 91 91 91 91 91 115 115
121 123 125 127 127 127 127 127 137 139 141 143 145 147 147 147 147 147 147 147
147 147 147 147 167 167 167 167 167 167 167 167 167 167 167 167 167 167 167 167
167 167 167 167 209 211 211 211 211 211 221 223 223 223 223 223 223 223 223 223
223 223 243 243 243 243 243 243 257 259 261 263 263 263 263 263 263 263 263 263
263 263 263 263 263 263 263 263 263 263 263 263 263 263 263 263 263 263 263 263
263 263 325 327 329 331 331 331 331 331 331 331 331 331 349 351 351 351 351 351
361 363 363 363 363 363 363 363 363 363 363 363 363 363 363 363 363 363 363 363
Tidak jelas (setidaknya bagi saya) bagaimana seseorang dapat memprediksi masa depan. Hanya merasa aman untuk mengatakan bahwa istilah tersebut selalu aneh, tidak menurun (setelah periode kedua), dan bahwa beberapa angka diulang berkali-kali.
Tantangan
Menulis sebuah program atau fungsi yang mengambil di bilangan bulat positif n dan mencetak atau mengembalikan n th jangka urutan SUDSI. Misalnya, jika n adalah 1, outputnya adalah 1
, jika n adalah 2, outputnya adalah 3
, jika n adalah 200, outputnya adalah 363
.
Ambil input dengan cara biasa (stdin / command line / function arg).
Jawaban terpendek dalam byte menang.
(Situs itu mengkodekan hal-hal dalam UTF-8, tetapi Anda dapat menggunakan pengkodean apa pun yang Anda inginkan.)
Bonus Mathy: (berpotensi memenuhi syarat untuk hadiah)
- Ceritakan lebih banyak tentang urutan SUDSI. Apa pola yang mendasari angka apa yang merupakan bagian dari itu dan berapa banyak dari mereka (dan hal-hal seperti itu)? (Omong -omong, saya tidak dapat menemukan SUDSI di OEIS .)