C# Girilen sayının abundat mı deficient mi olduğunu bulma

{{ page.title }}

Algoritma

  1. Başla
  2. sayi,bolen=1,sayac=2 değişkeni al
  3. sayi değeri gir
  4. Eğer sayi%sayac=0 ise
  5. bolen=bolen+sayac ve sayac++, değilse sayac++ devam et
  6. Eğer sayac<=(sayi/2) ise devam et, değilse 4’e git 7. Eğer bol > sayi ise yazdır “abundat”, değilse “deficient”
  7. Bitir

Bu soru aslında mükemmel sayı mantığına yakın bir sorudur.Döngü ve karar mekanizmaları bu soruda da bulunmaktadır.Önemli olan programlamada if ve döngü yapılarıdır. Bunlar çok iyi kavranmalıdır.Bu soruda bir sayı girilmektedir.

Bu sayıyı tam bölen sayılarını bulmak için, sayı/2′ ye kadar sayımızı sayaca böldürüp kalan değer 0 ise bunu bölen adlı değişkenin içine toplayarak atılmaktadır.Çıkan bölenler toplamı değer ile sayıyı karşılaştırıp büyük ise “güçlü”, küçük ise “güçsüz” diye ekrana basılmaktadır.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace dmg
{
class Program
{
static void Main(string[] args)
{
int sayi, bolen = 1;
int sayac = 2;
Console.WriteLine("sayı gir =");
sayi=Convert.ToInt32(Console.ReadLine());
while (sayac <= (sayi/2))
{
if (sayi % sayac == 0)
{
bolen = bolen + sayac;
}
sayac++;
}
if (bolen>sayi)
{
Console.WriteLine("abundat");
}
else
{
Console.WriteLine("deficient");
}
Console.ReadKey();
}
}
}

BOT Benson Topluluk kurucusu ve bir yazılımcı.