Soru: Kendisi hariç bütün pozitif bölenlerinin toplamı kendisine eşit olan sayılara mükemmel sayı denir. 6 bir mükemmel sayıdır. Çünkü 6’nın pozitif bölenleri 1,2,3 ve 6’dır. Kendisi hariç diğer bölenlerini toplarsak 1+2+3=6 eder. Öyleyse 1-10000 aralığındaki tüm mükemmel sayıları bulacak programı C dili ile yazınız.
Katkı: İç içe döngü kullanımı ve n2 karmaşıklığında algoritma kurabilme yeteneği.
İpucu: Bir sayının bir sayıya tam bölündüğünü kontrol etmek için ‘%’ (mod alma) operatörü kullanılır. A%B==0 ise A sayısı B’ye tam bölünür.
Kütüphaneler: <stdio.h> dışında bir kütüphane kullanımı gerekmemektedir.
Başlangıç: İlk olarak bir sayının tam bölenlerini bulmaya çalışın. Bu tam bölenleri toplayarak toplamın sayıya eşit olup olmadığını kontrol ettirmeniz gerekmektedir. Program 1’den başlayıp 10000’e kadar her sayı için tek tek test etmeli ve mükemmel sayı koşulunu sağlayanları ekrana yazmalıdır.
Beklenen Çıktı:
Tavsiye: Kodunuzun benimki ile aynı olması gerekmez. Soruda bahsedilen işlemi doğru şekilde yapan her kod doğrudur. Yine de soruları mümkün olan en basit ve en az işlem gerektiren yoldan çözmek için uğraşın.
Uyarı: Kodunuzu lütfen internet yardımı almadan yazmaya çalışın ve uygulama üzerinde yeterince uğraşmadan cevaba bakmayın.