Goldbach varsayımı ikiden büyük her çift sayısının iki asalın toplamı olarak ifade edilebileceğini belirtir. Örneğin,
4 = 2 + 2
6 = 3 + 3
8 = 5 + 3
Ancak, 10'a ulaştığımızda ilginç bir şey olur. Sadece 10 kişi yazılamaz
5 + 5
ama aynı zamanda şu şekilde de yazılabilir
7 + 3
10 iki asal sayının toplamı olarak ifade edilebilir yana iki yol , biz 10 "Goldbach bölüm" olduğunu söylemek 2
. Veya daha genel olarak,
Bir sayının Goldbach bölümü,
n = p + q
neredep
veq
asal olanlar olduğu toplam farklı yazma yollarının sayısıdır.p >= q
Zorluğunuz, bir sayının Goldbach bölümünü bulan bir program veya işlev yazmaktır. Şimdi, teknik olarak "Goldbach bölümü" terimi sadece çift sayıları ifade etmek için kullanılmaktadır. Tek tamsayı Ancak, p + 2 için , aynı zamanda , iki asal sayının toplamı olarak ifade edilebilir, eğer p> 2 asal olduğu için, tüm pozitif tamsayılar (bu uzatacaktır A061358 ).
Girişinizin her zaman pozitif bir tamsayı olacağını güvenli bir şekilde kabul edebilirsiniz ve örneğin, işlev argümanları ve dönüş değeri, STDIN ve STDOUT, bir dosyayı okuma ve yazma gibi varsayılan izin verilen yöntemlerden herhangi birinde giriş ve çıkış alabilirsiniz .
100'e kadar pozitif tamsayıların Goldbach bölümleri şunlardır:
0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 2, 1, 2, 0, 2, 1, 2, 1, 3, 0, 3, 1,
3, 0, 2, 0, 3, 1, 2, 1, 4, 0, 4, 0, 2, 1, 3, 0, 4, 1, 3, 1, 4, 0, 5, 1, 4,
0, 3, 0, 5, 1, 3, 0, 4, 0, 6, 1, 3, 1, 5, 0, 6, 0, 2, 1, 5, 0, 6, 1, 5, 1,
5, 0, 7, 0, 4, 1, 5, 0, 8, 1, 5, 0, 4, 0, 9, 1, 4, 0, 5, 0, 7, 0, 3, 1, 6
Her zamanki gibi standart boşluklar uygulanır ve bayt cinsinden en kısa cevap kazanır!