Mükemmel sayı nedir?
Sayının kendisi dışında pozitif tam sayı bölenlerinin toplamı, sayının kendisine eşit ise sayı mükemmel sayıdır.Örnek verecek olursa 6 sayısı bir mükemmel sayıdır. Pozitif tam sayı bölenleri 1,2 ve 3. Bu sayıların toplamı ise sayının kendisi yani 6’dır.
Bizim sorumuzda 10.000’e kadar olan mükemmel sayıların toplamını soruyoruz.
Çözüm:
f fonksiyonumuzda sayının pozitif tam sayı bölenlerinin toplamını buluyoruz ve toplamı döndürüyoruz.
Ardından 100.000’e kadar for döngüsü kuruyoruz ve sayı ile pozitif tam sayı bölenlerinin toplamının eşitliğini kontrol ediyoruz. Eğer eşit ise başta 0 olarak tanımladığımız counter değişkenine ekliyoruz ve döngü bittiğinde counter’ı yazdırıyoruz.
def f(x): sum=0 for i in range(1,x): if x%i==0: sum+=i return sum counter=0 for i in range(10000): if i==f(i): counter+=i print(counter)
takip edilmesi gereken bir site!