Eksık Sayıları Bulmak C#

Soru:Tam bölenlerinin toplamı, sayının iki katından eksik ise bu tür sayılara “eksik sayılar” denir. Örneğin 15 tamsayısının tam bölenleri 1, 3, 5, 15 olup bunların toplamı 1+3+5+15=24 tür. Tam bölenlerinin toplamı, sayının iki katından küçük olup (24<30) eksiklik miktarı 30-24=6 dır. İlk 10 eksik sayı 1, 2, 3, 4, 5, 7, 8, 9, 10, 11 dir. Buna göre klavyeden girilen bir tamsayının eksik sayı olup olmadığını, eksik sayı ise eksiklik miktarını ekrana yazdıran programı yazınız.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace odev5
{
    class Program
    {
        static void Main(string[] args)
        {
            int sayi;
            Console.WriteLine("Lütfen Sayıyı Giriniz");
            sayi = Convert.ToInt32(Console.ReadLine());
            int sayi2;
            sayi2 = sayi *2;
            int toplam = 0;
            for (int i = 1; i <= sayi; i++)
            {
                if (sayi % i == 0)
                {
                    toplam = toplam + i;
                }
            }
            if (toplam < sayi2)
            {
                Console.WriteLine("Girmiş olduğunuz sayı bir eksik sayıdır");
                Console.WriteLine("Eksiklik Miktarı: " + (sayi2 - toplam));
            }
            else
            {
                Console.WriteLine("Girmiş olduğunuz sayı bir eksik sayı değildir.");
            }
            Console.ReadKey();
        }
    }
}

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Protected by WP Anti Spam