Tugas Anda adalah menganalisis input dan output rumus untuk istilah ke-n jika itu adalah urutan aritmatika, jika tidak maka harus mencetak "NAAP".
Memasukkan
Input (dari STDIN) akan terdiri dari beberapa angka, antara 4 hingga 10 angka di mana setiap angka akan berada dalam kisaran antara -1000 dan 1000 inklusif, dipisahkan oleh pembatas (spasi atau koma atau titik koma) preferensi Anda]). Berikut adalah beberapa contoh input.
12,14,16,18 //valid
-3 4 5 1 -2 -4 //valid
45;35;-35 //invalid (only three numbers are present instead of the minimum of 4 numbers)
2,32;21,321 //invalid (it uses two different delimiters: `,` and `;`)
Keluaran
Program pertama-tama harus memeriksa apakah input adalah perkembangan aritmatika atau tidak.
Singkatnya, Kemajuan Aritmatika (AP): Setiap AP akan memiliki perbedaan yang sama. Ini adalah perbedaan antara istilah $ n $ dan $ {n-1} $ th (pada dasarnya $ a (n + 1) - a (n) $ di mana a
fungsi untuk sequnce). Perbedaan ini tetap sama untuk nilai $ n $ dalam suatu AP. Jika tidak ada perbedaan umum, maka itu bukan urutan aritmatika. Untuk menghitung nilai suku ke-n, gunakan rumus ini $ a (n) = a (1) + (n-1) d $ di mana $ a (1) $ adalah suku pertama dan $ d $ adalah umum perbedaan.
Jika itu bukan perkembangan aritmatika, maka program harus mencetak pesan kesalahan "NAAP" (kependekan dari "Bukan An Aritmatika Progresi").
Jika adalah perkembangan aritmatika, maka program harus mencetak term urutan ke-n dari urutan ke STDOUT.
Contoh:
> 1,3,5,7,9
2n-1
Penjelasan: Ini adalah AP karena ada perbedaan umum ($ 3 - 1 = 2 $). Kemudian Anda menggunakan rumus $ a (n) = a (1) + (n-1) d $
Oleh karena itu output 2n-1
(perhatikan tidak adanya spasi)
Celah standar tidak diizinkan secara default.
Anda diizinkan untuk membuat fungsi jika Anda mau (dengan array angka sebagai parameter Anda). Jika tidak, maka Anda harus membuat program lengkap yang mengambil input sebagai string atau array dan menghasilkan output yang sesuai.
Kasus uji:
1.
1,3,5,7,9
2n-1
2.
1 3 12312 7 9
NAAP
3.
-6;8;22;36;50
14n-20
4.
5,1,-3,-7,-11,-15
-4n+9
5.
-5,-7,-9,-11,-13,-15
-2n-3
6.
3,3,3,3,3,3,3,3,3
0n+3
7.
-4,-5,-6,-7
-1n-3
Ini adalah kode-golf sehingga kode terpendek dalam byte menang! (maaf untuk matematika buruk-jax)
Ada saran dipersilahkan!
0,0,0,0
dan 3,1,-1,-3,-5
perkembangan aritmatika? Jika demikian, saya pikir itu akan menjadi kasus uji yang baik, karena mereka melanggar metode yang saya coba.