अंकगणितीय अनुक्रम में संख्या की जांच
उदाहरण
<?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; // सामान्य अंतर
print_r("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
एल्गोरिदम व्याख्या
यह एक अंकगणितीय श्रृंखला (AP) में सदस्यता की जांच करता है:
- पहला पद (a): $val_1
- जांचने वाला पद: $val_2
- सामान्य अंतर (d): $val_3
शर्तें:
- यदि $val_2 == $val_1 → पहला पद है → true
- अन्यथा:
($val_2 - $val_1) % $val_3 == 0(अंतर d का गुणक है) - और
($val_2 - $val_1) * $val_3 > 0(सही दिशा में है)
उदाहरण विश्लेषण
AP: 11, 13, 15, 17, ..., 99, ...
- 99 - 11 = 88
- 88 % 2 = 0 ✓ (विभाज्य)
- 88 * 2 = 176 > 0 ✓ (सकारात्मक दिशा)
- इसलिए 99 अनुक्रम में है (45वां पद)
एज केस हैंडलिंग
<?php
function isInAP(int $first, int $target, int $diff): bool {
if ($diff == 0) {
return $first == $target; // स्थिर अनुक्रम
}
$delta = $target - $first;
return $delta % $diff == 0 && $delta / $diff >= 0;
}
// टेस्ट
var_dump(isInAP(11, 99, 2)); // true
var_dump(isInAP(11, 10, 2)); // false (गलत दिशा)
var_dump(isInAP(11, 12, 2)); // false (विभाज्य नहीं)
var_dump(isInAP(5, 5, 0)); // true
var_dump(isInAP(5, 6, 0)); // false
?>