Kuadrat sempurna dengan python tanpa menggunakan sqrt

Di Java, untuk menemukan akar kuadrat dari suatu bilangan sangat mudah jika kita menggunakan metode yang telah ditentukan sebelumnya. Kelas Java Math menyediakan metode sqrt() untuk menemukan akar kuadrat dari suatu angka. Pada bagian ini, kita akan membuat program Java untuk mencari akar kuadrat dari suatu bilangan tanpa menggunakan metode sqrt(). Ini adalah pertanyaan paling populer yang ditanyakan dalam wawancara Java

Jika kuadrat suatu bilangan adalah x, akar kuadrat dari bilangan tersebut adalah bilangan yang dikalikan dengan dirinya sendiri. Misalnya, akar kuadrat dari 625 adalah 25. Jika kita mengalikan 25 dua kali, kita mendapatkan kuadrat dari angka tersebut. Secara matematis, akar kuadrat dari suatu bilangan diberikan sebagai

Kami telah menggunakan rumus berikut untuk mencari akar kuadrat dari suatu bilangan

sqrtn+1=(sqrtn+(bil/sqrtn))/2. 0

Catatan. Angka sqrt pertama harus berupa angka input/2

Mari terapkan rumus di atas dalam program Java dan temukan akar kuadratnya

FindSquareRootExample1. Jawa

Keluaran 1

Enter a number: 12
The square root of 12 is: 3.4641016151377544

Keluaran 2

Enter a number: 25
The square root of 25 is: 5.0
_

Mari kita lihat logika lain untuk mencari akar kuadrat

Dalam contoh berikut, kami telah menggunakan prosedur berikut untuk mencari akar kuadrat

  • Kami telah menginisialisasi variabel iterator i=1
  • Periksa bilangan yang kita masukkan merupakan kuadrat sempurna atau tidak. Jika kuadrat dari i sama dengan n, i akan menjadi nilai akar kuadrat dari n
  • Jika tidak, temukan nilai terendah dari i. Ingatlah bahwa kuadrat dari i harus lebih besar dari n. Akar kuadrat dari suatu bilangan terletak di antara i-1 dan i. Setelah melakukan langkah-langkah tersebut, kami menggunakan algoritma pencarian biner untuk menemukan akar kuadrat dari suatu bilangan hingga n tempat desimal
  • Naikkan variabel i dengan 1

Algoritma Pencarian Biner

  • Temukan nilai tengah dari i-1 dan i
  • Temukan kuadrat dari nilai tengah dan bandingkan dengan n
    • Jika nilai tengah * nilai tengah = in, nilai tengahnya adalah akar kuadrat dari angka yang diberikan. Bandingkan kuadrat nilai tengah dengan n (hingga n tempat desimal) jika selisihnya kecil, nilai tengahnya akan menjadi akar kuadrat dari angka tersebut
    • Jika nilai tengah * nilai tengah > in, akar kuadrat adalah bagian dari paruh pertama
    • Jika nilai tengah * nilai tengah < in, akar kuadrat milik bagian kedua

Mari terapkan algoritme dalam program Java dan temukan akar kuadrat dari sebuah angka

FindSquareRootExample2. Jawa

Keluaran 1

Enter a number: 625
The square root of 625.0 is 25.0

Keluaran 2

Enter a number: 129
The square root of 129.0 is 11.357816688716412


Kuadrat sempurna adalah hasil perkalian bilangan bulat (integer) dengan dirinya sendiri. Meskipun mengkuadratkan angka Python sangatlah mudah, melihat apakah suatu nilai adalah kuadrat sempurna membutuhkan lebih banyak usaha. Mari lihat

DALAM ARTIKEL INI

Periksa kuadrat sempurna secara terprogram dengan Python

Dalam matematika, kuadrat sempurna adalah angka yang diperoleh dengan mengalikan bilangan bulat dengan bilangan itu sendiri (Kelley, 2007). Dengan kata lain, dengan mengkuadratkan bilangan bulat, kita mendapatkan kuadrat sempurna. Misalnya, 25 adalah kuadrat sempurna karena merupakan hasil dari 5 kali 5 (atau 52). 36 juga merupakan kuadrat sempurna (62). Tapi 33 bukan kuadrat sempurna (5. 7442 ≈ 33)

Ada berbagai cara untuk melihat apakah suatu bilangan merupakan kuadrat sempurna. Tetapi satu pendekatan adalah sebagai berikut. Pertama ambil akar kuadrat bilangan bulat dari angka itu. Lalu kuadratkan nilai itu. Selanjutnya bandingkan hasil itu dengan nomor aslinya. Ketika mereka sama, jumlahnya adalah kuadrat sempurna

Inilah salah satu cara untuk memprogram proses itu dengan Python

import math

def is_perfect_square(number: int) -> bool:
    """
    Returns True if the provided number is a
    perfect square (and False otherwise).
    """
    return math.isqrt(number) ** 2 == number
_

Fungsi khusus is_perfect_square()_ ini berfungsi dengan satu parameter (bilangan bulat). Ia mengembalikan nilai benar/salah Boolean. Itu menandakan jika parameter itu adalah kuadrat sempurna (True) atau tidak (False)

Inilah yang kami lakukan untuk mengetahuinya. Pertama, panggil fungsi math.isqrt(). Fungsi itu mengembalikan akar kuadrat bilangan bulat dari argumennya (Python Docs, n. d. )

Kami kemudian mengkuadratkan akar kuadrat bilangan bulat itu dengan operator eksponen (**). Selanjutnya kita lihat apakah nilai kuadrat itu sama dengan (

import math


def is_perfect_square(number: int) -> bool:
    """
    Returns True if the provided number is a
    perfect square (and False otherwise).
    """
    return math.isqrt(number) ** 2 == number


# Some integer values
valueA = 81
valueB = 25
valueC = 5

# Check if the numbers are a perfect square
isPsqrA = is_perfect_square(valueA)
isPsqrB = is_perfect_square(valueB)
isPsqrC = is_perfect_square(valueC)

# Output the results
print("Is", valueA, "a perfect square?", isPsqrA)
print("Is", valueB, "a perfect square?", isPsqrB)
print("Is", valueC, "a perfect square?", isPsqrC)
0) nilai asli fungsi (parameter
import math


def is_perfect_square(number: int) -> bool:
    """
    Returns True if the provided number is a
    perfect square (and False otherwise).
    """
    return math.isqrt(number) ** 2 == number


# Some integer values
valueA = 81
valueB = 25
valueC = 5

# Check if the numbers are a perfect square
isPsqrA = is_perfect_square(valueA)
isPsqrB = is_perfect_square(valueB)
isPsqrC = is_perfect_square(valueC)

# Output the results
print("Is", valueA, "a perfect square?", isPsqrA)
print("Is", valueB, "a perfect square?", isPsqrB)
print("Is", valueC, "a perfect square?", isPsqrC)
1)

Ketika mereka cocok, parameternya adalah kuadrat sempurna dan fungsinya mengembalikan True. Jika berbeda, parameternya bukan kuadrat sempurna dan kami mengembalikan False

Contoh. lihat apakah nilai Python adalah kuadrat sempurna

Mari kita bagaimana menggunakan fungsi di atas. Di bawah ini kita memiliki is_perfect_square() lihat apakah tiga angka adalah kuadrat sempurna. Ini kodenya

import math


def is_perfect_square(number: int) -> bool:
    """
    Returns True if the provided number is a
    perfect square (and False otherwise).
    """
    return math.isqrt(number) ** 2 == number


# Some integer values
valueA = 81
valueB = 25
valueC = 5

# Check if the numbers are a perfect square
isPsqrA = is_perfect_square(valueA)
isPsqrB = is_perfect_square(valueB)
isPsqrC = is_perfect_square(valueC)

# Output the results
print("Is", valueA, "a perfect square?", isPsqrA)
print("Is", valueB, "a perfect square?", isPsqrB)
print("Is", valueC, "a perfect square?", isPsqrC)

Pertama-tama kita mengimpor modul

import math


def is_perfect_square(number: int) -> bool:
    """
    Returns True if the provided number is a
    perfect square (and False otherwise).
    """
    return math.isqrt(number) ** 2 == number


# Some integer values
valueA = 81
valueB = 25
valueC = 5

# Check if the numbers are a perfect square
isPsqrA = is_perfect_square(valueA)
isPsqrB = is_perfect_square(valueB)
isPsqrC = is_perfect_square(valueC)

# Output the results
print("Is", valueA, "a perfect square?", isPsqrA)
print("Is", valueB, "a perfect square?", isPsqrB)
print("Is", valueC, "a perfect square?", isPsqrC)
5. Yang itu dibutuhkan oleh fungsi is_perfect_square(). Kemudian kami menyalin/menempelkan fungsi itu di program kami

Selanjutnya kita membuat tiga nilai numerik.

import math


def is_perfect_square(number: int) -> bool:
    """
    Returns True if the provided number is a
    perfect square (and False otherwise).
    """
    return math.isqrt(number) ** 2 == number


# Some integer values
valueA = 81
valueB = 25
valueC = 5

# Check if the numbers are a perfect square
isPsqrA = is_perfect_square(valueA)
isPsqrB = is_perfect_square(valueB)
isPsqrC = is_perfect_square(valueC)

# Output the results
print("Is", valueA, "a perfect square?", isPsqrA)
print("Is", valueB, "a perfect square?", isPsqrB)
print("Is", valueC, "a perfect square?", isPsqrC)
7,
import math


def is_perfect_square(number: int) -> bool:
    """
    Returns True if the provided number is a
    perfect square (and False otherwise).
    """
    return math.isqrt(number) ** 2 == number


# Some integer values
valueA = 81
valueB = 25
valueC = 5

# Check if the numbers are a perfect square
isPsqrA = is_perfect_square(valueA)
isPsqrB = is_perfect_square(valueB)
isPsqrC = is_perfect_square(valueC)

# Output the results
print("Is", valueA, "a perfect square?", isPsqrA)
print("Is", valueB, "a perfect square?", isPsqrB)
print("Is", valueC, "a perfect square?", isPsqrC)
8, dan
import math


def is_perfect_square(number: int) -> bool:
    """
    Returns True if the provided number is a
    perfect square (and False otherwise).
    """
    return math.isqrt(number) ** 2 == number


# Some integer values
valueA = 81
valueB = 25
valueC = 5

# Check if the numbers are a perfect square
isPsqrA = is_perfect_square(valueA)
isPsqrB = is_perfect_square(valueB)
isPsqrC = is_perfect_square(valueC)

# Output the results
print("Is", valueA, "a perfect square?", isPsqrA)
print("Is", valueB, "a perfect square?", isPsqrB)
print("Is", valueC, "a perfect square?", isPsqrC)
9. Kemudian kami memeriksa apakah itu kuadrat sempurna. Jadi kami memanggil is_perfect_square() berulang kali dan menyimpan hasil fungsi dalam tiga variabel baru (
Is 81 a perfect square? True
Is 25 a perfect square? True
Is 5 a perfect square? False
1 hingga
Is 81 a perfect square? True
Is 25 a perfect square? True
Is 5 a perfect square? False
2)

Bit kode terakhir menampilkan hasil dengan fungsi

Is 81 a perfect square? True
Is 25 a perfect square? True
Is 5 a perfect square? False
3 Python. Inilah hasil yang kami dapatkan

Is 81 a perfect square? True
Is 25 a perfect square? True
Is 5 a perfect square? False

Contoh. lihat apakah nilai daftar adalah kuadrat sempurna

Terkadang kami memiliki daftar nilai dan ingin memeriksa apakah itu kuadrat sempurna. Untungnya, kita dapat dengan mudah menjalankan fungsi is_perfect_square() khusus untuk setiap nilai daftar. Begini caranya

import math


def is_perfect_square(number: int) -> bool:
    """
    Returns True if the provided number is a
    perfect square (and False otherwise).
    """
    return math.isqrt(number) ** 2 == number


# Some random integer values
values = [
    3, 25, 81, 100, 1750,
    4539, 5776, 15623,
]

# See if each value is a perfect square
for value in values:
    print("Is", value, "a perfect square?", is_perfect_square(value))

Pertama kita mengimpor modul

import math


def is_perfect_square(number: int) -> bool:
    """
    Returns True if the provided number is a
    perfect square (and False otherwise).
    """
    return math.isqrt(number) ** 2 == number


# Some integer values
valueA = 81
valueB = 25
valueC = 5

# Check if the numbers are a perfect square
isPsqrA = is_perfect_square(valueA)
isPsqrB = is_perfect_square(valueB)
isPsqrC = is_perfect_square(valueC)

# Output the results
print("Is", valueA, "a perfect square?", isPsqrA)
print("Is", valueB, "a perfect square?", isPsqrB)
print("Is", valueC, "a perfect square?", isPsqrC)
_5, yang dibutuhkan oleh fungsi kustom kita. Lalu kami salin-tempel fungsi itu dalam kode

Selanjutnya kita membuat daftar bernama

Is 81 a perfect square? True
Is 25 a perfect square? True
Is 5 a perfect square? False
6. Isinya berbagai nilai integer. Kemudian kita mengulang daftar itu dengan loop
Is 81 a perfect square? True
Is 25 a perfect square? True
Is 5 a perfect square? False
7 Python. Di sini variabel
Is 81 a perfect square? True
Is 25 a perfect square? True
Is 5 a perfect square? False
_8 mengacu pada satu nomor dari daftar selama setiap siklus loop

Di dalam loop, fungsi

Is 81 a perfect square? True
Is 25 a perfect square? True
Is 5 a perfect square? False
_3 mengeluarkan angka dari daftar (
Is 81 a perfect square? True
Is 25 a perfect square? True
Is 5 a perfect square? False
8) dan apakah itu kuadrat sempurna. Untuk mengetahui yang terakhir kita memanggil fungsi is_perfect_square() khusus pada variabel
Is 81 a perfect square? True
Is 25 a perfect square? True
Is 5 a perfect square? False
8

Inilah yang dihasilkan oleh program mini Python

Is 3 a perfect square? False
Is 25 a perfect square? True
Is 81 a perfect square? True
Is 100 a perfect square? True
Is 1750 a perfect square? False
Is 4539 a perfect square? False
Is 5776 a perfect square? True
Is 15623 a perfect square? False

BELAJARLAH LAGI

  • Bagaimana cara mengkuadratkan nilai dengan Python?
  • Hitung akar kuadrat dari nilai dengan Python
  • Lihat apakah angka Python adalah kubus sempurna

Referensi

Kelley, M. W. (2007). Panduan Idiot Lengkap untuk Aljabar (Edisi ke-2). Buku Alfa, NY. New York

Piton. org (n. d. ). matematika — Fungsi matematika. Diakses pada 8 November 2019, dari https. //dokumen. python. org/3/perpustakaan/matematika. html

Diterbitkan 20 Desember 2019

Tutorial Python terkait

  • Bagaimana cara mendapatkan nilai absolut angka dengan Python?

    Nilai absolut adalah nilai non-negatif dari angka. Kode python mendapatkannya dengan fungsi

    import math
    
    
    def is_perfect_square(number: int) -> bool:
        """
        Returns True if the provided number is a
        perfect square (and False otherwise).
        """
        return math.isqrt(number) ** 2 == number
    
    
    # Some random integer values
    values = [
        3, 25, 81, 100, 1750,
        4539, 5776, 15623,
    ]
    
    # See if each value is a perfect square
    for value in values:
        print("Is", value, "a perfect square?", is_perfect_square(value))
    3. Artikel ini menjelaskan caranya (termasuk daftar dan larik)

  • Naikkan angka menjadi kekuatan. inilah cara eksponensial dengan Python

    Eksponen mengalikan angka dengan dirinya sendiri beberapa kali. Python memiliki tiga cara untuk menaikkan angka ke kekuatan tertentu. **,

    import math
    
    
    def is_perfect_square(number: int) -> bool:
        """
        Returns True if the provided number is a
        perfect square (and False otherwise).
        """
        return math.isqrt(number) ** 2 == number
    
    
    # Some random integer values
    values = [
        3, 25, 81, 100, 1750,
        4539, 5776, 15623,
    ]
    
    # See if each value is a perfect square
    for value in values:
        print("Is", value, "a perfect square?", is_perfect_square(value))
    5, dan
    import math
    
    
    def is_perfect_square(number: int) -> bool:
        """
        Returns True if the provided number is a
        perfect square (and False otherwise).
        """
        return math.isqrt(number) ** 2 == number
    
    
    # Some random integer values
    values = [
        3, 25, 81, 100, 1750,
        4539, 5776, 15623,
    ]
    
    # See if each value is a perfect square
    for value in values:
        print("Is", value, "a perfect square?", is_perfect_square(value))
    6

  • Bagaimana cara memotong nilai Python menjadi bilangan bulat utuh?

    Saat kami memotong angka, kami membuang bagian pecahannya. Program Python kami mengimplementasikan perilaku itu dengan fungsi

    import math
    
    
    def is_perfect_square(number: int) -> bool:
        """
        Returns True if the provided number is a
        perfect square (and False otherwise).
        """
        return math.isqrt(number) ** 2 == number
    
    
    # Some random integer values
    values = [
        3, 25, 81, 100, 1750,
        4539, 5776, 15623,
    ]
    
    # See if each value is a perfect square
    for value in values:
        print("Is", value, "a perfect square?", is_perfect_square(value))
    7 atau
    import math
    
    
    def is_perfect_square(number: int) -> bool:
        """
        Returns True if the provided number is a
        perfect square (and False otherwise).
        """
        return math.isqrt(number) ** 2 == number
    
    
    # Some random integer values
    values = [
        3, 25, 81, 100, 1750,
        4539, 5776, 15623,
    ]
    
    # See if each value is a perfect square
    for value in values:
        print("Is", value, "a perfect square?", is_perfect_square(value))
    8

  • Bagaimana cara membulatkan ke bilangan bulat dengan Python?

    Tiga fungsi Python membulatkan angka menjadi bilangan bulat.

    import math
    
    
    def is_perfect_square(number: int) -> bool:
        """
        Returns True if the provided number is a
        perfect square (and False otherwise).
        """
        return math.isqrt(number) ** 2 == number
    
    
    # Some random integer values
    values = [
        3, 25, 81, 100, 1750,
        4539, 5776, 15623,
    ]
    
    # See if each value is a perfect square
    for value in values:
        print("Is", value, "a perfect square?", is_perfect_square(value))
    _9 dibulatkan ke atas dan ke bawah,
    Is 3 a perfect square? False
    Is 25 a perfect square? True
    Is 81 a perfect square? True
    Is 100 a perfect square? True
    Is 1750 a perfect square? False
    Is 4539 a perfect square? False
    Is 5776 a perfect square? True
    Is 15623 a perfect square? False
    
    0 dibulatkan ke bawah, dan
    Is 3 a perfect square? False
    Is 25 a perfect square? True
    Is 81 a perfect square? True
    Is 100 a perfect square? True
    Is 1750 a perfect square? False
    Is 4539 a perfect square? False
    Is 5776 a perfect square? True
    Is 15623 a perfect square? False
    
    1 dibulatkan ke atas menjadi bilangan bulat

  • Bagaimana cara memeriksa apakah suatu angka adalah kubus sempurna dengan Python?

    Kubus sempurna adalah bilangan yang, jika dikalikan dengan dirinya sendiri dua kali, menghasilkan bilangan bulat. Artikel ini menggunakan kode Python untuk menemukan kubus yang sempurna

    Bagaimana Anda membuat kode kuadrat sempurna dengan Python?

    Periksa Perfect Square di Python .
    Algoritma (Metode 1) Ambil akar kuadrat nilai floor() dari angka tersebut. Kalikan akar kuadrat dua kali. .
    Kode Piton
    Keluaran. PALSU
    Algoritma (Metode 2) Dalam metode ini kita menggunakan fungsi lantai dan langit-langit. Jika mereka sama yang berarti angkanya adalah kuadrat sempurna
    Keluaran. BENAR

    Bagaimana cara menulis program akar kuadrat tanpa menggunakan fungsi sqrt?

    Kita dapat menganggap (√x-√x) 2 = 0. In the above equation, we are considering √x as z. So, to get a required decimal value we can compare the difference of y and z to 10-p (to get the result upto 5 decimal digits, compare y-z to 10-5=0.00001).

    Bagaimana Anda menemukan akar kuadrat dari angka yang bukan kuadrat sempurna?

    Mencari Akar Kuadrat dari Kuadrat Tak Sempurna .
    Temukan dua akar kuadrat sempurna terdekat yang dekat dengan n
    Bagilah bilangan yang diberikan dengan salah satu bilangan tersebut
    Ambil rata-rata angka yang dihasilkan dan akarnya
    Periksa apakah kita mengkuadratkan rata-rata ini, menghasilkan angka asli atau tidak
    Jika tidak maka ulangi langkah-langkah di atas