Subfactorial veya rencontres numaraları ( A000166 ) permütasyon kombinatorik görünür faktör numaralarına benzer bir sayı dizisi bulunmaktadır. Özellikle n inci subfactorial ! N sayısını verir düzensizliklerinde bir dizi n elemanları. Bir düzensizlik, hiçbir elemanın aynı konumda kalmadığı bir permütasyondur. Alt faktör aşağıdaki tekrarlama ilişkisi ile tanımlanabilir:
!n = (n-1) (!(n-1) + !(n-2))
Aslında, aynı yineleme ilişkisi faktoring için de geçerlidir ancak alt faktörler için bizden başlarız:
!0 = 1
!1 = 0
(Faktoring için elbette 1! = 1 olurdu .)
Göreviniz hesaplamak ! N , verilen n .
kurallar
Faktoring gibi, alt faktör de çok hızlı büyür. Programınızın yalnızca n girişlerini işleyebilmesi gayet iyi, öyle ki ! N , kendi dilinizin yerel sayı türüyle gösterilebilir. Ancak, algoritma keyfi için teori çalışmalarında zorunluluk n . Bu, integral sonuçların ve ara değerin tam olarak diliniz tarafından temsil edilebildiğini varsayabilirsin . Bunun e sabitini hariç tuttuğunu unutmayın.Bunun, sonlu hassasiyetle saklanması veya hesaplanması durumunda .
Sonucun tam bir tamsayı olması gerekir (özellikle sonucu bilimsel gösterimle belirtemezsiniz).
Bir program veya fonksiyon yazabilir ve standart yöntemlerden herhangi birini kullanabilirsiniz. giriş alma ve çıkış sağlama .
Herhangi bir programlama dilini kullanabilirsiniz , ancak bu boşlukların varsayılan olarak yasak olduğunu unutmayın .
Bu kod-golf , yani en kısa geçerli cevap - bayt olarak ölçülen - kazanır.
Test Kılıfları
n !n
0 1
1 0
2 1
3 2
4 9
5 44
6 265
10 1334961
12 176214841
13 2290792932
14 32071101049
20 895014631192902121
21 18795307255050944540
100 34332795984163804765195977526776142032365783805375784983543400282685180793327632432791396429850988990237345920155783984828001486412574060553756854137069878601