Akademisyenler öncülüğünde matematik/fizik/bilgisayar bilimleri soru cevap platformu
1 beğenilme 0 beğenilmeme
1k kez görüntülendi

Bir pozitif tam sayının, kendisi hariç bütün pozitif bölenlerinin toplamı kendisine eşit oluyor ise bu sayıya mükemmel sayı denir. Örneğin $6$ mükemmel bir sayıdır. ($1+2+3=6$)

Verilen bir pozitif tam sayının kendisi hariç pozitif bölenlerinin toplamı sayıdan küçük oluyor ise bu sayıya fakir sayı diyelim. Örneğin $10$ bir fakir sayıdır. ($1+2+5<10$) Eğer verilen bir pozitif tam sayının kendisi hariç pozitif bölenlerinin toplamı sayıdan büyük oluyor ise bu sayıya zengin sayı diyelim. Örneğin $12$ bir zengin sayıdır. ($1+2+3+4+6>12$)

Gözlemlenirse $12$ sayısı en küçük zengin sayıdır. Zengin iki sayının toplamı olarak yazılabilen en küçük pozitif tam sayı $24$ sayısıdır. Matematiksel olarak yapılmış hesaplamalar sonucu $28123$ sayısından büyük bütün tam sayıların iki zengin sayının toplamı olarak yazılabildiği biliniyor.

Bu durumda, iki zengin sayının toplamı şeklinde yazılamayan tüm pozitif tam sayıların toplamı nedir?

Veri Bilimi kategorisinde (470 puan) tarafından  | 1k kez görüntülendi
Cevap $4179871$ ise kod paylasayim..
Evet cevap doğru. İsterseniz paylaşabilirsiniz.
algoritması değilde ,sadece cevap mı aranıyor anlamadım ben.

1 cevap

1 beğenilme 0 beğenilmeme

$\text{Mathematica}$ ile soyle yapilabilir. Once sayilarin bolenlerini, sonra toplamlarini bulmaliyiz. $\text{DivisorSum[n]}$  bunun ikisini de yapiyor ama sayinin kendisini de ekliyor toplama. Onun icin sayinin  kendisini toplamdan cikarmamiz gerek.

$\text{DivisorSum[n]-n }$ aradigimiz sey. Peki bu toplam sayinin kendisinden buyuk mu?

$\text{DivisorSum[n]-n >n}\implies \text{DivisorSum[n] >2n}$

 

Eger buyukse sayimiz zengin sayi. If kullananarak test ederiz, dogruysa sayisi aliriz, degilse almayiz.

 

$\text{zengin[n_] := If[DivisorSum[n, # &] > 2 n, n, Nothing]}$

 

$28123$'e kadar olan zengin sayilari bulalim.

$\text{zenginSayilar = Table[zengin[n], {n, 28123}];}$

Bize ikili toplamlar lazim. Aslinda matrisin kosegen dahil ust kismi lazim, 12+18 ile 18+12 ayni toplami verecegi icin iki defa islem yapmaya gerek yok. $\text{Subsets}$ fonksiyonu tam aradimiz fonksiyon, zenginSayilar'in 2'li alt kumelerini bulur. Bir sartla, 12+12 almaz. Cunku kumelerde tekrarlayan eleman olmaz.

$\text{ikiliZengin = Subsets[zenginSayilar, {2}];}$

Bize ikiliZengin'lerin toplami lazim. $\text{Total /@ ikiliZengin}$. Ayni olan ikiliZengin'lerin toplami $2\times\text{ikiliZengin}$,(12+12,18+18,... gibi)

Bu iki kumenin birlesimi bize zengin iki sayının toplamı olarak yazılabilen sayilari verir.

Zengin iki sayının toplamı olarak yazılamayan sayilari $\text{Complement}$ ile buluruz ve bu sayilarin toplami istenen cevap olur..

 

zengin[n_] := If[DivisorSum[n, # &] > 2 n, n, Nothing]
zenginSayilar = Table[zengin[n], {n, 28123}];
ikiliZengin = Subsets[zenginSayilar, {2}];
Total@Complement[Range@28123,Join @@ {2 zenginSayilar, Total /@ ikiliZengin}]

4179871

 

(2.9k puan) tarafından 
tarafından düzenlendi
20,274 soru
21,803 cevap
73,475 yorum
2,427,995 kullanıcı