C#

C# Arkadaş Sayıları Bulma

Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde arkadaş sayıları bulmayı anlatacağım. Hadi başlayalım !

Öncelikle arkadaş sayı nedir onu açıklayalım. Birbirinden farklı iki sayının kendilerinden farklı pozitif tam sayı bölenleri toplamı diğer sayıya eşit ise bu iki sayıya arkadaş sayı denir. Örneğin 220 sayısının pozitif tam sayı bölenleri 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 ve 110’dur. Pozitif tam sayı bölenleri toplamı ise 1+2+4+5+10+11+20+22+44+55+110=284

284 sayısının pozitif tam sayı bölenleri ise 1, 2, 4, 71 ve 142’dir. Toplamları ise 1+2+4+71+142=220’dir. Görüldüğü üzere 220’nin pozitif tam sayı bölenlerinin toplamı 284’e, 284’ün pozitif tam sayı bölenlerinin toplamı 220’ye eşit olduğu için 220 ve 284 sayıları arkadaş sayılardır. Bende bu yazımda C# ile kullanıcıdan alınan iki sayının arkadaş sayı olup olmadığını bulacak ve kullanıcıya bildireceğiz.

Öncelikle Visual Studio aracılığıyla bir tane konsol projesi oluşturalım. Kullanıcıdan iki tane sayı alıp sırasıyla sayi1 ve sayi2 değişkenlerine atayalım.

Console.Write("Birinci Sayıyı Girin: ");
int sayi1 = Convert.ToInt32(Console.ReadLine());
Console.Write("İkinci Sayıyı Girin: ");
int sayi2 = Convert.ToInt32(Console.ReadLine());

Pozitif tam sayı bölenlerini ayrı bir fonksiyon yazarak hesaplayalım. Çünkü 2 tane sayı için hesaplama yapacağımız için daha temiz bir kod için aynı kodları tekrar tekrar yazmak yerine tek bir fonksiyon oluşturup orda hesaplayalım ve sayılarımızı sırayla o fonksiyona gönderip sonucu alalım. Pozitif tam sayı bölenleri bulabilmek için ise 1’den sayıya kadar giden bir for döngüsü döndürüp her adımda sayımız ile o adımdaki ilgili sayının birbirine bölümünden kalan sıfır ise o adımdaki sayıyı pozitif tam bölenlerin toplamına ekleyeceğiz. Yani şöyle bir kod yapımız olmalı;

static int PozitifBolenlerininToplami(int sayi)
{
    int toplam = 0;
    for (int i = 1; i < sayi; i++)
        if(sayi % i == 0)
            toplam += i;
    return toplam;
}

Pozitif tam sayı bölenlerinin toplamını hesaplayan fonksiyonu oluşturduk ve şimdi Main fonksiyonu içerisinden devam edelim. Dışarıdan aldığımız sayi1 ve sayi2 değerlerini PozitifBolenlerininToplami() fonksiyonuna gönderip diğer sayıya eşit olup olmadığını kıyaslayacağız. Her ikisi de birbirine eşit ise konsol ekranına Sayılar Arkadaş Sayılardır, eşit değilse Sayılar Arkadaş Sayılar Değildir yazdıralım.

if (PozitifBolenlerininToplami(sayi1) == sayi2 && PozitifBolenlerininToplami(sayi2) == sayi1)
    Console.WriteLine("Sayılar Arkadaş Sayılardır");
else
    Console.WriteLine("Sayılar Arkadaş Sayı Değildir");
Console.ReadKey();

Eveeett, arkadaş sayıları bulma işlemi işlemimiz bu kadar, projeyi çalıştırıp 2 sayı girerseniz sayıların arkadaş sayı olup olmadığını belirten yazıyı ekranda göreceksiniz. Bu dersimizde bu kadardı, yazdığımız tüm kodları daha toplu olması için aşağıya bırakıyorum;

static int PozitifBolenlerininToplami(int sayi)
{
    int toplam = 0;
    for (int i = 1; i < sayi; i++)
        if(sayi % i == 0)
    toplam += i;
    return toplam;
}
static void Main(string[] args)
{
    Console.Write("Birinci Sayıyı Girin: ");
    int sayi1 = Convert.ToInt32(Console.ReadLine());
    Console.Write("İkinci Sayıyı Girin: ");
    int sayi2 = Convert.ToInt32(Console.ReadLine());
    if (PozitifBolenlerininToplami(sayi1) == sayi2 && PozitifBolenlerininToplami(sayi2) == sayi1)
        Console.WriteLine("Sayılar Arkadaş Sayılardır");
    else
        Console.WriteLine("Sayılar Arkadaş Sayı Değildir");
    Console.ReadKey();
}

Tüm C# derslerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 1 Ortalama: 1]

Bir cevap yazın

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

Göz Atın
Kapalı
Başa dön tuşu