Göreviniz Newton'un Yöntemini kullanarak 2'nin karekökünü hesaplamaktır - hafif bir bükülme ile. Programınız, Newton'un Yöntemini kullanarak bir yineleme hesaplamak ve aşağıdaki yinelemenin kaynak kodunu çıkarmaktır (aynı şeyi yapabilmelidir).
Newton'un yöntemi Wikipedia'da oldukça ayrıntılı bir şekilde tarif edilmiştir.
Newtons yöntemini kullanarak karekök 2'yi hesaplamak için:
- Tanımlamak
f(x) = x^2 - 2
- Tanımlamak
f'(x) = 2x
- Tanımla
x[0]
(ilk tahmin)= 1
- Tanımlamak
x[n+1] = x[n] - (f[n] / f'[n])
Her yineleme, x [n] 'in kareköküne yaklaştıracaktır. Yani -
x[0] = 1
x[1] = x[0] - f(x[0])/f'(x[0]) = 1 - (1 ^ 2 - 2) / (2 * 1) = 1.5
x[2] = x[1] - f(x[1])/f'(x[1]) = 1.5 - (1.5 ^ 2 - 2) / (2 * 1.5) = 1.416666667
x[3] = x[2] - f(x[2])/f'(x[1]) = 1.416666667 - (1.416666667 ^ 2 - 2) / (2 * 1.416666667) = 1.414215686
- ve bunun gibi
Programınız:
- Programın kaç kez çalıştırıldığını
x[n]
nerede hesaplan
- Kaynak kodu
x[n+1]
, bu sorunun aynı kriterlerini hesaplamak ve karşılamak için aynı dilde geçerli bir programa gönderin . - Kaynak kodun ilk satırı, düzgün bir şekilde yorumlanmış hesaplama sonucu olmalıdır. Kaynak ilk satırda belirli bir şeye (bir shebang gibi) ihtiyaç duyuyorsa, sonuç ikinci satıra yerleştirilebilir.
Bunu not et
- Programınız ilk bir tahmin kullanmalı
x[0] = 1
- Standart Boşluk Doldurma uygulamak
- Herhangi bir yerleşik güç, karekök veya xroot işlevler yasaktır
- Programınız herhangi bir girişi kabul etmemelidir. Tamamen kendi kendine yeten olmalı.
Puanınız, ilk programınızın UTF-8 bayt cinsinden boyutudur. En düşük puan kazanır.
x = x-(x*x-2)/(2*x)
?