🔲Tam Kare Sayılar

❓ Soru

Girilen bir tamsayının tam kare olup olmadığını bulan algoritmayı yazınız.

⛓ Program Kısımları

  1. Sayı girmek.

  2. Tam kare olup olmadığını tespit etmek.

  3. Sonucu ekrana yazdırmak.

👓 Çözüm Yöntemi

  • Bir x sayısı tam kare olması için (x=i*i) koşulunu sağlayan bir i bulunması lazım.

  • iyi bulmak için 0 ile (x/2+1) arasındaki sayıları kontrol ederiz.

👩‍🔧 Çözüm Adımları

  1. Değişkenlerin tanımlanması.

  2. xin girilmesi.

  3. (x/2+1) kere dönen döngünün oluşturulması.

    a- Koşulun kontrol edilmesi.

  4. Sonucun yazdırılması.

🤖 Kod

⚙ C++ Kodu

#include <iostream>
using namespace std;
int main() {
  int i, x, t = 0; // Değişkenlerin tanımlanması
  cin >> x; // “x”in girilmesi
  for (i = 0; i <= x / 2 + 1; i++) { // (X/2+1) kere dönen döngünün oluşturulması
    if (x == i * i)  // Koşulun kontrol edilmesi
    {
      t = 1;
      break; // Fazladan işlem yaptırmamak için karekökü bulunduğunda döngüden çıkarız
    }
  }
  // Koşulun sağlanıp sağlanmadığını kontrol etmek için “t”yi kullandık, çünkü koşul sağlandığında “t” değişecek
  // Sonucun yazdırılması
  if (t != 0)
    cout << "tam kare";
  else
    cout << "tam kare degil";
}

🐍 Python Kodu

t = 0 # Değişkenlerin tanımlanması
x = int(input()) # “x”in girilmesi
for i in range(0, x // 2 + 2): # (X//2+2) kere dönen döngünün oluşturulması
    if (x == i * i): # Koşulun kontrol edilmesi
        t = 1
        break # Fazladan işlem yaptırmamak için karekökü bulunduğunda döngüden çıkarız
# Koşulun sağlanıp sağlanmadığını kontrol etmek için “t”yi kullandık, çünkü koşul sağlandığında “t” değişecek
# Sonucun yazdırılması
if (t != 0):
    print("tam kare")
else:
    print("tam kare degil")

☕ Java Kodu

import java.util.*;
public class TamKare {
 public static void main(String arg[]) {
  Scanner input = new Scanner(System.in);
  int i, x, t = 0; // Değişkenlerin tanımlanması
  x = input.nextInt(); // “x”in girilmesi
  for (i = 0; i <= x / 2 + 1; i++) { // (X/2+1) kere dönen döngünün oluşturulması
   // Koşulun kontrol edilmesi
   if (x == i * i) 
   {
    t = 1;
    break; // Fazladan işlem yaptırmamak için karekökü bulunduğunda döngüden çıkarız
   }
  }
  // Koşulun sağlanıp sağlanmadığını kontrol etmek için “t”yi kullandık, çünkü koşul sağlandığında “t” değişecek
  // Sonucun yazdırılması
  if (t != 0)
   System.out.println("tam kare"); 
  else
   System.out.println("tam kare degil");
  input.close();
 }
}

⏹ C# Kodu

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TamKare {
    class Program {
        static void Main(string[] args) {
            int i, x, t = 0; // Değişkenlerin tanımlanması
            x = Convert.ToInt32(Console.ReadLine()); // “x”in girilmesi
            for (i = 0; i <= x / 2 + 1; i++) { // (X/2+1) kere dönen döngünün oluşturulması
                if (x == i * i) {
                    t = 1;
                    break; // Fazladan işlem yaptırmamak için karekökü bulunduğunda döngüden çıkarız
                }
            }
            // Koşulun sağlanıp sağlanmadığını kontrol etmek için “t”yi kullandık, çünkü koşul sağlandığında “t” değişecek
            // Sonucun yazdırılması
            if (t == 1)
                Console.WriteLine("tam kare");
                else
                    Console.WriteLine("tam kare degil");
            Console.ReadLine();
        }
    }
}

🧩 Akış Şeması

🎉 Ekran Çıktısı

81
tam kare
27
tam kare degil

💡 Notlar

  1. Fazladan işlem yaptırmamak için karekökü bulunduğunda döngüden çıkarız.

  2. Koşulun sağlanıp sağlanmadığını kontrol etmek için tyi kullandık, çünkü koşul sağlandığında t değişecek.

Last updated