Mükemmel Sayıları PHP ile bulma
Bu yazımızda matematikte mükemmerl sayılar olarak geçen sayıları PHP ile kod yazarak bulacağız. Sayı aralığını da kullanıcıdan isteyeceğiz. Aşağıdaki gibi bir form tasarlayarak sayı aralığını kullanıcıdan isteyelim.
Peki mükemmel sayı nedir?
1'den kendisine kadar olan tam bölenleri toplamı kendisine eşit olan sayılara mükemmel sayılar denir. Örneğin 6 sayısının bölenleri toplamı aşağıda görüldüğü gibi kendisine eşittir.
1
2
3
Toplam=6
Yine 28 sayısının bölenleri olan 1,2,4,7 ve 14 sayılarının toplamı 28 olup, sayının kendisine eşittir. Aşağıda mükemmel sayılar listesi verilmiştir.
6
28
496
8128
Sözü fazla uzatmadan kodlamaya geçelim. Aslında yapacağımız işlem oldukça basit iki döngü açacağız. İlk döngü 1.sayıdan başlayıp, 2. sayıya kadar gidecek. İçteki döngü ise 1'den sayının 1 eksiğine kadar olan sayılara bakacak, tam bölen varsa toplayacak. İçeteki döngü bitince if şart yapısı ile bir kontrol yapıp bölenleri toplamının sayıya eşit olup olmadığına bakacağız.
Örneğin 1 ile 100 arasındaki sayıları bulmak için aşağıdaki kodu yazabiliriz.
Burada toplam içinde bölen sayıları sürekli biriktiriliyor. PHP ve HTML kayna kodunun tamamı aşağıda verilmiştir. Bu işlemi bir fonksiyon şeklinde de yazabilirsiniz.
Örneğin 1 ile 100 arasındaki sayıları bulmak için aşağıdaki kodu yazabiliriz.
for($i=1; $i<=100;$i++)
{
$toplam=0;
for($j=1; $j<$i-1; $j++)
{
if($i%$j==0)
{
$toplam+=$j;
}
}
if($toplam==$i)
echo $i."<br>";
}
Burada toplam içinde bölen sayıları sürekli biriktiriliyor. PHP ve HTML kayna kodunun tamamı aşağıda verilmiştir. Bu işlemi bir fonksiyon şeklinde de yazabilirsiniz.
<?php
error_reporting(0);
if(isset($_POST))
{
$num1 = $_POST['sayi1'];
$num2 = $_POST['sayi2'];
for($i=$num1; $i<=$num2;$i++)
{
$toplam=0;
for($j=1; $j<$i-1; $j++)
{
if($i%$j==0)
{
$toplam+=$j;
}
}
if($toplam==$i)
echo $i."<br>";
}
} //isset
if(!($_POST))
{
?>
<!DOCTYPE html>
<html>
<head>
<title>Mükemmel Sayılar</title>
</head>
<body>
<form method="POST" action="<?= $_SERVER['PHP_SELF']?>" >
<table align="center" border="0">
<tr>
<td colspan="2" align="center">
<h3>Mükemmel Sayıları Bul</h3>
</td>
</tr>
<tr>
<td>Sayı 1:</td>
<td><input type="number" name="sayi1"></td>
</tr>
<tr>
<td>Sayı 2:</td>
<td><input type="number" name="sayi2"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="Sihirli Sayıları Bul">
</td>
</tr>
</table>
</form>
</body>
</html>
<?php
}
?>
Sonuç aşağıdaki gibi çıkacaktır.
Sonuç aşağıdaki gibi çıkacaktır.
KAYNAK
Perfect Numbers
https://en.wikipedia.org/wiki/List_of_perfect_numbers
Mutlu kodlamalar,
Oğuzhan TAŞ
Ocak 2021
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?