1’den 20’ye kadar olan sayılara eşit olarak bölünebilen en küçük pozitif sayıyı bulan programın Algoritması ve Kodu

Soruda bizden istenen şu; öyle bir sayı var ki, bu sayı 1’den 20’ye kadar her sayıya bölündüğünde kalan 0 çıkıyor. Ayrıca bu sayı bu koşulu sağlayan en küçük sayı olmalı. O zaman bir fonksiyon yaratalım ve adı sayiBul olsun, parametresi ise tam sayı tipinde n isminde bir değişken. Fonksiyonun içine sayacı(i) 1’den 20’ye kadar birer birer arttırdığımız bir for döngüsü açıyoruz. Bu döngünün içine bir if bloğu açıyoruz ve koşul kısmına n % i != 0 yazıyoruz. Bunun anlamı şu; benim sayımı(n) al, sayaca(i) böl ve kalanı 0 ise döngüye geri dön ve sayaçtan bir sonraki sayıyı al, eğer kalan 0 değilse 0 döndür yani bu sayı benim işime yaramaz de ve fonksiyondan çık. Döngüde koşul tamamen sağlanıp çıkıldığında ise return n dedik yani sayı şartları sağladı onu bize döndür dedik. Main fonksiyonu içine ise sayacı(i) 1’den 1000000000’a kadar birer birer arttırdığımız bir for döngüsü açıyoruz. Bu döngünün içine bir if bloğu açıyoruz ve koşul kısmına sayiBul(i) == i yazıyoruz. Bunun anlamı ise fonksiyonu çağır, sayaçtaki sayı ile fonksiyonda döndürdüğü sayı denkse sayıyı bastır. break komutu ile döngüden çık.

sayiBul(n) Fonksiyonunun Algoritması:

  1. sayiBul(n)
  2. Döngü oluştur(1’den 20’ye kadar birer birer arttır)
  3. Eğer n mod i = 0 ise
  4. Döndür 0
  5. Değilse 2. adıma geri dön
  6. Döndür n

Ana Fonksiyonun Algoritması: 

  1. Başla
  2. Döngü oluştur(1’den 1000000000’a kadar birer birer arttır)
  3. Eğer(sayiBul(i) == İ) ise
  4. Yazdır i
  5. Son

(Visio 2013 ile akış diyagramını çizdim)

(C++ Programlama Dili ile kodunu yazdım)

(C# Programlama Dili ile kodunu yazdım)

Leave a Reply

Your email address will not be published. Required fields are marked *