🔟0️⃣ Yüzler Basamağı Üzerinde İşlemler Yapmak

❓ Soru

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ı

  1. Sayı girmek.

  2. Koşulun sağlanıp sağlanmadığını kontrol etmek.

  3. 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ı

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

  2. sayının girilmesi.

  3. sayının int’e dönüştürülmesi.

  4. Yüzler basamağının bulunması.

  5. Koşulun kontrol edilmesi.

  6. Sonuçların yazdırılması.

🤖 Kod

⚙ C++ Kodu

#include <iostream>
using namespace std;
void is_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";
}
int main()
{
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 edilmesi
if (kalan % 2 == 0) {
kalan = kalan * kalan * kalan;
is_tam_kare(kalan);
} else
cout << "cift degil"; // Sonuçların yazdırılması
}

🐍 Python Kodu

def is_tam_kare(x):
t = 0
for i in range(0, x // 2 + 2):
if (x == i * i):
t = 1
break
if (t == 1):
# Sonuçların yazdırılması
print("tam kare")
else:
print("tam kare degil")
# Değişkenlerin tanımlanması
kalan = 0
sayi = float(input())
# “sayı”nın int’e dönüştürülmesi
tam_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 edilmesi
if (kalan % 2 == 0):
kalan = kalan * kalan * kalan
is_tam_kare(kalan)
else:
# Sonuçların yazdırılması
print("cift degil")

☕ Java Kodu

import java.util.*;
public class YuzlerIslemleri {
public static void main(String arg[]) {
Scanner input = new Scanner(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 edilmesi
if (kalan % 2 == 0) {
kalan = kalan * kalan * kalan;
is_tam_kare(kalan);
} else
System.out.println("cift degil"); // Sonuçların yazdırılması
input.close();
}
private static void is_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");
else
System.out.println("tam kare degil");
}
}

⏹ C# Kodu

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace YuzlerIslemleri{
class Program{
static void Main(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 edilmesi
if (kalan % 2 == 0){
kalan = kalan * kalan * kalan;
is_tam_kare(kalan);
}
else
Console.WriteLine("cift degil"); // Sonuçların yazdırılması
Console.ReadLine();
}
private static void is_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");
else
Console.WriteLine("tam kare degil");
}
}
}

🧩 Akış Şeması

Main

Tam Kare Kontrol Fonksiyonu

🎉 Ekran Çıktısı

1423.466
tam kare
215.537
tam kare degil

💡 Notlar

  1. Önceki Sorunun yöntemini kullanarak sayının tam kare olup olmadığını kontrol eden bir fonksiyon oluşturduk.