divide and conquer us alma
💻 Bilgisayar, 💾 Programlama

Divide And Conquer Metodu ile Üs Hesaplayan PHP Kodu

PHP LogoDivide And Conquer metodu, bir problemi daha küçük alt problemlere bölmek, küçük problemleri çözmek ve bunları birleştirmek anlamına gelmektedir.

Aşağıdaki ufak kod parçası, verilen bir sayının, verilen bir sayı kadar üssünü divide and conquer yöntemi ile alır.

Karmaşıklığı O(n)’dir.

For foreigners: The algorithm bellow calculates a number’s power using divide and conquer method. It’s complexity is O(n). Educational purposes only. There are less complex algorithms exist to do that (due to recursion overhead).

Kod Parçası

<?php
/* 
  Yazar: Umut Benzer
  https://ubenzer.com/
  Kullanım: power(TABAN,US);
*/

echo power(9,17); /* 9 üssü 17 */

function power($base, $exp) {
	if($exp > 1) {
		$b = round($exp / 2,0, PHP_ROUND_HALF_DOWN);
		$c = $exp - $b;

		$result_left = power($base, $b);
		$result_right= power($base, $c);
	
		return $result_left * $result_right;
	} else {
		return $base;
	}
}

Nasıl Çalışıyor?

divide and conquer us alma

👋 🚨 Yeni yazılardan haberdar olmak ister misiniz? 👇

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir