Şununla karıştırılmaması gereken faktörleri bulun!
Giriş
Tamsayı faktöryel n
hesaplanabilir
Bu nispeten kolay ve yeni bir şey değil. Ancak, faktöriyel kadar uzatılabilir çift faktöriyellerinin , öyle ki
Özetle:
Meydan okuma
Negatif olmayan bir tamsayı için herhangi bir tekrarlanan faktoringi hesaplayacak bir fonksiyon yazın.
Giriş
ya
- Negatif olmayan bir baz on tamsayısı içeren bir dize, ardından 1 veya daha fazla ünlem işareti içeren bir dize. örneğin
"6!"
veya"9!!"
veya"40!!!!!!!!!!!!!!!!!!!!"
.
veya
- İki tamsayı ile gösterilen aynı değerler: bir negatif olmayan temel değer ve faktöriyel sayımı temsil eden bir pozitif değer. Bu, varsayılan G / Ç kurallarından herhangi bir formata göre yapılabilir.
Çıktı
Söz konusu hesaplamanın sonucu.
Meydan açıklamalar
0!
1
tanımı gereği eşittir . Kodunuz bunu hesaba katmalıdır.- Faktöriyel sayısı ile sınırlıdır dışında, bu dizi, ne olursa olsun çıkış serbesttir. Den başka
0!
, bu kuralın tek istisnası budur.
Örnekler
Input Output
3!!! 3
0! 1
6! 720
9!! 945
10!!!!!!!! 20
40!!!!!!!!!!!!!!!!!!!! 800
420!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 41697106428257280000000000000000
Topraksız bir Python uygulamasıyla deneyin : Çevrimiçi deneyin!
Genel açıklamalar
- Bu kod golf , yani her dilde en az bayt kullanan cevap kazanıyor.
- Standart kurallar , G / Ç kuralları ve kaçamak kuralları uygulanır.
- Lütfen bir kodunuzun çalıştığını göstermek için bir Çevrimiçi Deneyin bağlantısını ekleyin.
- Lütfen cevabınızı kodunuzun açıklamasıyla motive edin.
3!!!!!!!
tanımsız olmamalı - sadece cevabı vermeli 3
. Aynı 1!!=1
(tanımsız değil). Ayrıca giriş şartnamenizde daima en az bir tane olacağı yazıyor !
, bu nedenle ilk örnek 3
şartnameye uymuyor.
(3!)!
yerine, faktoring terimlerini kaldırıyor . Yanıltıcı bir isim; Faktörel fonksiyonu bir zincirde tekrar tekrar uygulayacağımı ve gerçekte ne olduğunu görmek için dikkatlice okumak zorunda kaldığımı farz ettim. Neyse ki soru açıkça açıklıyor. Daha iyi bir ad, faktörlü veya adımlı faktoring gibi bir şey olabilir.
0!
ancak zorluk ifadeleri faktoring sayısının temel değere eşit veya daha küçük olacağını söylüyor.