C# 1-100 arasındaki çift sayıların toplamını mükemmel sayı olup olmadığını bulma
Algoritma
- Başla
- i=0,top=0,y=0 değişkenlerini al
- top=top+(2+i) işlemini yap
- Eğer (i+2)=100 ise devam et, değilse i=i+2, 3’e git
- i=1 işlemini yap
- Eğer top%i=0 ise y=y+i değilse devam et
- Eğer top=i+1 ise devam et değilse i=i+1,6ya git
- Eper top=y ise yazdır
- mükkemeldir değilse mükkemel değil
- Bitir
Bu soruda şunu bilmeliyizki 1 ile 100 arasında tarzındaki sorularda 1 den 100 e kadar program kodumuz istediğimiz yerden döngüye girecektir. Bunda i değerimiz yani bir sayacımız olacak , değer her defasında uzayacaktır.
C# böyle sorularda for döngüsünü sever bir de burda fazladan bir (sayi%2) eğeri koymak yerine, zaten çift sayıları bildiğimizden hemen top=top+2 diyerek, çiftleri direkt döngüye eklememizi uygun olacaktır sonra bu toplama (top değişkenin içindeki) mükemmel sayımı diye bakmalı.
Kod Yapısı
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace dmg
{
class Program
{
static void Main(string[] args)
{
int i; int top = 0;
int y = 0;
for ( i = 0; i <= 98; i++)
{
top = top + (2 + i);
}
for ( i = 1; i <= (top/2); i++)
{
if ((top%i)==0)
{
y = y + i;
}
}
if (top==y)
{
Console.WriteLine("mükemmel");
}
else
{
Console.WriteLine("mükemmel değil");
}
Console.ReadLine();
}
}
}
20 Aralık 2017