Meydan okuma
Plastik sayı birçok ilginç matematiksel özellikleri olan altın oranına ilişkin bir numaradır. Bu nedenle, sayıyı hesaplamak için kullanılabilecek birçok yaklaşım vardır.
Bu zorluğun amaçları için numarayı tam olarak belirtmek için, aşağıdaki tanımı kullanacağız (birçok eşdeğer tanım olmasına rağmen ve aynı numaraya geldiği sürece istediğiniz herhangi bir tanımı kullanabilirsiniz):
Plastik numara bir gerçek sayı olduğu ρ şekilde ρ ³ = ρ + 1.
Buradaki zorluk, bir tamsayıdır alan bir program ya da fonksiyonu yazmak için x ile (giriş olarak x > 1), ve bir yaklaşma üreten p'ye daha büyük bir değer, öyle ki çıkış olarak x alır, daha yakın çıkış alır p'ye ( en sonlu sayıda istisna dışında en ile; bu amaçla "daha yakın" ile aynı değer sayıları kaldıkları) ve herhangi bir pozitif sayı için ö , bazı giriş var x içinde çıktı o en üretir programınıza ö ait p'ye .
Açıklamalar
- Dizeleri doğal olarak çıkaran bir yöntemle (örneğin standart çıktı akışı) çıktı alıyorsanız, çıktıyı ondalık (örneğin
1.3247179572
) olarak veya/
aralarında karakterli iki tam sayı oranı olarak biçimlendirebilirsiniz . - Programlama dilinizde bir değer olarak çıktı veriyorsanız (örneğin bir işlevden döndürme), sabit nokta, kayan nokta veya rasyonel tipte olmalıdır. (Özellikle, yalnızca iki tamsayının oranını tutmak için kullanılmadıkça, sayıları sembolik olarak depolayan veri türlerini kullanamazsınız. Dolayısıyla, Mathematica veya benzer bir dil kullanıyorsanız, fazladanları eklemeniz gerekir. gerçekten çıktının rakamlarını oluşturmak için kod.)
- Cevabınız, tam sayıların keyfi olarak büyük olabileceği ve hafızanın (yığın dahil) sınırsız olduğu, dilinizin varsayımsal bir varyantında çalışmalıdır. Sen olabilir değil kendi dilinizde o kayan nokta aritmetik keyfi doğru olduğunu varsayalım, ancak bunun yerine (bir kayan nokta sayı çıkışında sadece kayan noktalı sayıların doğruluğu olabildiği dilde mümkün olacak anlamına gerçek doğruluk kullanmalıdır çalışma zamanında kontrol edilir).
- x istediğiniz herhangi bir anlama sahip olabilir (arttırılması daha doğru çıktılar sağladığı sürece). Çoğu gönderimin, üretilecek çıktının sayısını ya da programınız tarafından plastik numara üzerinde birleşmek için kullanılan algoritmanın yineleme sayısını kontrol edeceğini hayal ediyorum, ancak diğer anlamlar kabul edilebilir.
Test durumu
İşte plastik sayının ilk birkaç hanesi:
1.32471795724474602596090885
OEIS'te daha fazla rakam var .
Zafer durumu
Kod golf için her zaman olduğu gibi , bayt cinsinden ölçülen kısa olan daha iyidir. Bununla birlikte, mevcut cevaplara bir şey ekledikleri sürece (örneğin farklı bir dil veya farklı bir algoritma) kazandıklarında bile cevaplar göndermekten çekinmeyin.