ตัวอย่างโค้ด
<?php
function contains_in_sequence($val_1, $val_2, $val_3) {
if ($val_1 == $val_2) return true;
if (($val_2 - $val_1) * $val_3 > 0 && ($val_2 - $val_1) % $val_3 == 0) return true;
return false;
}
$val_1 = 11;
$val_2 = 99;
$val_3 = 2;
echo "Is the number present in the sequence? ";
if (contains_in_sequence($val_1, $val_2, $val_3)) {
echo "Yes, it is present in the sequence";
} else {
echo "No, it is not present in the sequence";
}
?>
ผลลัพธ์
Is the number present in the sequence? Yes, it is present in the sequence
คำอธิบาย
ตรวจสอบว่า $val_2 อยู่ใน Arithmetic Sequence ที่เริ่มจาก $val_1 ความต่าง $val_3 หรือไม่
- Sequence: 11, 13, 15, 17, ..., 99 (Difference = 2)
99 - 11 = 88,88 * 2 = 176 > 0(Direction OK)88 % 2 = 0(หารลงตัว → เป็น Term ใน Sequence)
Formula
Term นำ้ที่ n: a_n = a_1 + (n-1)d
แก้หา n: n = (a_n - a_1)/d + 1
ถ้า n เป็น Positive Integer → อยู่ใน Sequence
Edge Cases
<?php // Negative difference contains_in_sequence(10, 2, -2); // true: 10, 8, 6, 4, 2 // Wrong direction contains_in_sequence(10, 20, -2); // false: sequence goes down // Not in sequence contains_in_sequence(10, 21, 2); // false: 21 not in 10,12,14,... // Same start and target contains_in_sequence(5, 5, 3); // true (first term) ?>