Terapkan integral tak terbatas ke string yang diberikan. Satu-satunya aturan yang akan Anda gunakan adalah seperti itu:
∫cx ^ (n) dx = (c / (n + 1)) x ^ (n + 1) + C, n ≠ -1 c, C, dan n adalah konstanta.
Spesifikasi:
- Anda harus dapat mengintegrasikan polinomial dengan salah satu fitur yang mungkin:
- Koefisien, mungkin sebagian kecil dalam format
(numerator/denominator)
. - Pengakuan bahwa e dan π adalah konstanta, dan dalam penggunaannya, dapat membentuk fraksi atau ekspresi yang mengandungnya (dapat disimpan dalam fraksi seperti
(e/denominator)
atau(numerator/e)
, atau, jika dalam eksponen,x^(e+1)
)- Selain dari dua konstanta khusus ini, semua koefisien akan menjadi bilangan real, rasional.
- Eksponen, mungkin sebagian kecil, dalam format
x^(exponent)
- Ekspresi dengan
e
atauπ
di dalamnya, selain dari diri mereka sendiri, tidak akan berada dalam eksponen. (Anda tidak harus mengintegrasikan hal-hal sepertix^(e+1)
, tetapi Anda mungkin mengintegrasikanx^(e)
)
- Ekspresi dengan
- Dapat menggunakan variabel non-x 1-char (yaitu
f
)- Ini hanya untuk ASCII berkisar 65-90 dan 97-122.
- Anda tidak harus menggunakan aturan rantai atau mengintegrasikan
x^(-1)
.
- Koefisien, mungkin sebagian kecil dalam format
- Output harus memiliki bantalan (pemisahan antara istilah, yaitu
x^2 + x + C
. - Jika tidak diketahui cara mengintegrasikan dengan fitur-fitur di atas, program harus mencetak
"Cannot integrate "+input
. - Itu harus program penuh.
Bonus:
- -10% jika Anda mencetak eksponen "cantik" yang diformat untuk penurunan harga (bukan
x^2
,x<sup>2</sup>
). - -10% jika Anda mencetak persamaan (yaitu
∫xdx = (1/2)x^2 + C
)
Contoh:
Memasukkan:
x
Keluaran:
(1/2)x^(2) + C
Memasukkan:
-f^(-2)
Keluaran:
f^(-1) + C
Memasukkan:
(1/7)x^(1/7) + 5
Keluaran:
(1/56)x^(8/7) + 5x + C
Memasukkan:
πx^e
Keluaran:
(π/(e+1))x^(e+1) + C
Memasukkan:
(f+1)^(-1)
Keluaran:
Cannot integrate (f+1)^(-1)
e
danπ
, satu-satunya nilai dalam koefisien adalah bilangan rasional? Yaitu tidak perlu menangani polinomial multivariabel? 2. Ketika Anda mengatakan " variabel non-x 1-char ", apakah Anda membatasia-zA-Z
atau apakah Anda bermaksud menyertakan rentang Unicode lainnya?ln(x) + C
untuk masukanx^(-1)
?x^(e+1)
tidak akan menjadi integand, tetapi mungkin merupakan hasil dari integrasi. 2) Tidak akan ada banyak variabel huruf. 3) Ya. 4) Ya, tetapi seharusnya(1/56)x^(1/7+1) + C
(saya membuat kesalahan dalam contoh).Jawaban:
Mathematica 478 * 0.9 = 430.2
Ini menciptakan fungsi sebenarnya φ yang mengambil satu String sebagai Input. (Apakah itu termasuk program yang lengkap untuk Mathematica?)
Versi ungolfed adalah:
Perhatikan bahwa huruf-huruf Yunani diperlukan untuk dapat menggunakan semua huruf lain dalam input.
sumber
MATLAB, 646 x 0,9 = 581,4 byte
Saat ini sedang dalam proses menggunakan MATLAB yang dibangun dalam kemampuan integrasi simbolis. Saat ini persyaratan telah diperbarui sehingga format sekarang sesuai dengan persyaratan. Itu juga memenuhi syarat untuk bonus -10% kedua.
Jika ada yang ingin mencoba dan menyarankan cara-cara mengoreksi output, atau menggunakan kode ini sebagai dasar untuk jawaban lain, jangan ragu :). Jika saya dapat menemukan waktu, saya akan terus bermain dengannya dan melihat apakah saya bisa memikirkan cara memformat ulang output.
Pembaruan: Oke, jadi setelah bekerja sedikit lagi, berikut adalah bagaimana kode saat ini berdiri. Ini masih dalam proses, tetapi sekarang semakin dekat dengan mencocokkan output yang dibutuhkan.
Berikut adalah beberapa contoh dari apa yang saat ini dihasilkannya. Seperti yang Anda lihat, itu tidak benar, tetapi semakin dekat.
Input:
Output:
sumber
x^(8/7)/8
mana sementara secara matematis benar tidak dalam bentuk yang Anda inginkan -(1/8)x^(8/7)
.