Tam kısmındaki değeri en fazla 4 haneli girilen bir rasyonel sayının tam kısmının yüzler hanesindeki değeri çift ise bu değerin küpünün bir tam kare olup olmadığını bulan algoritmayı yazınız.
⛓ Program Kısımları
Sayı girmek.
Koşulun sağlanıp sağlanmadığını kontrol etmek.
Sonucu ekrana yazdırmak.
👓 Çözüm Yöntemi
Ondalık kısmını yok etmek için sayı inte dönüştürürüz.
Yüzleri bulduktan sonra koşulu kontrol ederiz.
👩🔧 Çözüm Adımları
Değişkenlerin tanımlanması.
sayının girilmesi.
sayının int’e dönüştürülmesi.
Yüzler basamağının bulunması.
Koşulun kontrol edilmesi.
Sonuçların yazdırılması.
🤖 Kod
⚙ C++ Kodu
#include<iostream>usingnamespace std;voidis_tam_kare(int x) {int i, t =0;for (i =0; i <= x /2+1; i++) {if (x == i * i) { t =1;break; } }if (t ==1) // Sonuçların yazdırılması cout <<"tam kare"; else cout <<"tam kare degil";}intmain(){int tam_sayi, kalan =0; // Değişkenlerin tanımlanması float sayi; cin >> sayi; // “sayı”nın girilmesi tam_sayi = (int) sayi; // “sayı”nın int’e dönüştürülmesi tam_sayi = tam_sayi /100; // Yüzler basamağının bulunması kalan = tam_sayi %10; // Koşulun kontrol edilmesiif (kalan %2==0) { kalan = kalan * kalan * kalan;is_tam_kare(kalan); } else cout <<"cift degil"; // Sonuçların yazdırılması }
🐍 Python Kodu
defis_tam_kare(x): t =0for i inrange(0, x //2+2):if (x == i * i): t =1breakif (t ==1):# Sonuçların yazdırılmasıprint("tam kare")else:print("tam kare degil")# Değişkenlerin tanımlanmasıkalan =0sayi =float(input())# “sayı”nın int’e dönüştürülmesitam_sayi =int(sayi)tam_sayi = tam_sayi /100# Yüzler basamağının bulunması# kalan float çıktığı için tekrar tip dönüşümü yapılmasıkalan =int(tam_sayi %10)# Koşulun kontrol edilmesiif (kalan %2==0): kalan = kalan * kalan * kalanis_tam_kare(kalan)else:# Sonuçların yazdırılmasıprint("cift degil")
☕ Java Kodu
importjava.util.*;publicclassYuzlerIslemleri {publicstaticvoidmain(String arg[]) {Scanner input =newScanner(System.in);// Değişkenlerin tanımlanmasıint tam_sayi, kalan =0; float sayi; sayi =input.nextFloat(); // “sayı”nın girilmesi tam_sayi = (int) sayi; // “sayı”nın int’e dönüştürülmesi// Yüzler basamağının bulunması tam_sayi = tam_sayi /100; kalan = tam_sayi %10;// Koşulun kontrol edilmesiif (kalan %2==0) { kalan = kalan * kalan * kalan;is_tam_kare(kalan); } elseSystem.out.println("cift degil"); // Sonuçların yazdırılmasıinput.close(); }privatestaticvoidis_tam_kare(int x) {int i, t =0;for (i =0; i <= x /2+1; i++) {if (x == i * i) { t =1;break; } }if (t ==1)// Sonuçların yazdırılması System.out.println("tam kare"); elseSystem.out.println("tam kare degil"); }}
⏹ C# Kodu
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceYuzlerIslemleri{classProgram{staticvoidMain(string[] args){ // Değişkenlerin tanımlanmasıint tam_sayi, kalan =0;double sayi; sayi =Convert.ToDouble(Console.ReadLine()); tam_sayi = (int)sayi; // “sayı”nın int’e dönüştürülmesi // Yüzler basamağının bulunması tam_sayi = tam_sayi /100; kalan = tam_sayi %10; // Koşulun kontrol edilmesiif (kalan %2==0){ kalan = kalan * kalan * kalan;is_tam_kare(kalan); }elseConsole.WriteLine("cift degil"); // Sonuçların yazdırılmasıConsole.ReadLine(); }privatestaticvoidis_tam_kare(int x){int i, t =0;for (i = 0; i <= x; i++){if (x == i * i){ t =1;break; } } // Sonuçların yazdırılmasıif (t ==1)Console.WriteLine("tam kare");elseConsole.WriteLine("tam kare degil"); } }}
🧩 Akış Şeması
Main
Tam Kare Kontrol Fonksiyonu
🎉 Ekran Çıktısı
1423.466
tam kare
215.537
tam kare degil
💡 Notlar
Önceki Sorunun yöntemini kullanarak sayının tam kare olup olmadığını kontrol eden bir fonksiyon oluşturduk.