PHP'de Optimal Algoritma Seçimi

Bazen kodun problemi, görevin en optimal çözümünün seçilmemesiyle ilişkili olabilir.

Diyelim ki, önümüzde 1'den 1000000'a kadar olan tam sayıların toplamını bulma görevi var. Verilen görevi çözelim:

php<?php
  $sum = 0;
  
  for ($i = 1; $i <= 1000000; $i++) {
    $sum += $i;
  }
  
  echo $i;
?>

Peki sorun ne? Sorun şu ki, bu görevin çözümü için matematiksel bir çözüm mevcut.

Bu çözüm neredeyse hiç kaynak gerektirmez! Bunu programlayalım:

php<?php
  $n = 1000000;
  $sum = $n * ($n + 1) / 2;
  echo $sum;
?>

Çıkarılacak ders: Kaynak yoğun bir görevi çözmeden önce, onun çözümü için hazır bir matematiksel formül veya hazır bir matematiksel yaklaşım olup olmadığını mutlaka kontrol edin.

Задание 1

1'den 1000'a kadar olan aralıktaki sayılardan 5'e kalansız bölünenlerin sayısını bulun.

Задание 2

1'den 1000000'a kadar olan tüm sayıları yazmak için kaç basamak gerektiğini bulun.

Задание 3

1'den 10000'a kadar olan aralıktaki tüm asal sayıları bulun. Yıldızlı görev, çözmek zorunda değilsiniz.