การเลือกอัลกอริทึมที่เหมาะสมที่สุดใน PHP

บางครั้งปัญหาของโค้ดอาจเกี่ยวข้องกับ การที่เราไม่ได้เลือกวิธีแก้ปัญหาที่ดีที่สุด

สมมติว่าเรามีภารกิจ หาผลรวมของจำนวนเต็มตั้งแต่ 1 ถึง 1000000 มาแก้ปัญหาที่มอบหมายกัน:

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

มีอะไรผิดหรือ? ประเด็นคือ สำหรับการแก้ ปัญหานี้มี วิธีแก้ทางคณิตศาสตร์

วิธีแก้ไขนี้แทบไม่ต้องการ ทรัพยากรเลย! มาทำโปรแกรมสำหรับมัน:

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

ข้อคิด: ก่อนที่จะแก้ปัญหาที่ใช้ทรัพยากรสูง ให้ตรวจสอบเสมอว่ามีสูตรทางคณิตศาสตร์สำเร็จรูปหรือแนวคิด ทางคณิตศาสตร์สำเร็จรูปสำหรับการแก้ปัญหานั้นหรือไม่

Задание 1

จงหาจำนวนตัวเลขที่หารด้วย 5 ลงตัว ในช่วงจาก 1 ถึง 1000

Задание 2

จงหาจำนวนหลักที่ต้องใช้ เพื่อเขียนตัวเลขทั้งหมดตั้งแต่ 1 ถึง 1000000

Задание 3

จงหาจำนวนเฉพาะทั้งหมดในช่วงตั้งแต่ 1 ถึง 10000 เป็นโจทย์ระดับยาก ทำหรือไม่ทำก็ได้