Girilen sayının Tau Sayısı mı değil mi olduğunu gösteren programın Algoritması ve Kodu

Tau Sayıları, pozitif tüm bölenlerinin sayısına tam bölünen sayılardır. Bir sayının Tau Sayısı olabilmesi için söz konusu olan sayımız; tam bölenlerinin sayısının adedine de tam bölünüyorsa o sayı Tau Sayısı olarak isimlendiriliyor.

Örnek; Sayımız 12 olsun. 12′nin tam bölenleri nelerdir?  1, 2, 3, 4, 6, 12 => 6 adet tam böleni mevcut olduğunu gördük.  Şimdi 12’nin 6′ya tam bölünüp bölünmediğini kontrol ediyoruz. Evet 12 mod 6 = 0 olduğundan tam bölünüyor. Bu nedenden dolayı 12 bir Tau Sayısıdır.

Yukarıdaki açıklamayı okuyunca bize üç şey(değişken) lazım. Bunlardan biri  adet(miktar) sayının pozitif bölenlerinin sayısı , TAU Sayısı mı değil mi kontrol edeceğimiz bir sayı(bu sayıyı kullanıcıdan isteyeceğiz) ve sayının hangi sayılara bölünebildiğini belirleyeceğimiz bir değişken(x)

sayi, miktar ve x isminde tam sayı tipinde 3 değişken tanımlayıp, miktar’a 0, sayi’ya kullanıcıdan aldığımız sayıyı, x’e ise 1 atıyorum. x’e 0 atayamam çünkü hiçbir sayı 0’a bölünemez.

Kullanıcı 25 girdi diyelim, x = 1 olduğu için 25 1’e bölünecek ve kalan 0 olduğu için, miktar 1 arttırılacak. Sonra program x’i 1 arttıracak ve 2’yi deneyecek. 25’in 2’ye bölümünden kalan 0 olmadığı için miktar aynı kalacak, x yine 1 arttırılacak. Bu durum x=26 olana kadar devam edecek.

Döngüden çıkıldığında 25 % 3 = 0 mı diye kontrol edilecek, doğru olmadığı için ekrana “Girilen sayı TAU sayısı değildir.” yazısı basılacak.

  1. Başla
  2. Sayı ata (miktar = 0, x = 1)
  3. Sayı gir (sayi)
  4. Eğer sayi mod x = 0
  5. Adedi bir arttır (miktar++)
  6. x’i 1 arttır
  7. Eğer x sayi nin 1 fazlasına eşit değilse 3. Adıma geri dön
  8. Eğer sayi mod miktar = 0
  9. Yazdır “Girilen sayı TAU sayısıdır.”
  10. Değilse
  11. Yazdır “Girilen sayı TAU sayısı değildir.”

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

(Java Programlama diliyle kodunu yazdım.)

(C++ Proglamlama diliyle kodunu yazdım.)

(C# Programlama Dili ile kodunu yazdım)

Leave a Reply

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