สมมติว่าเรามีพจน์แรกของลำดับเลขคณิต (AP) และความต่างร่วม (Common Difference) เราต้องตรวจสอบว่าตัวเลข n ที่กำหนดเป็นส่วนหนึ่งของ AP หรือไม่ ถ้าพจน์แรก a = 1 ความต่าง d = 3 และพจน์ x = 7 จะถูกตรวจสอบ คำตอบคือใช่
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ถ้า d เป็น 0 และ a = x ให้คืนค่า true มิฉะนั้น false
- ในทางกลับกัน ถ้า d ไม่เป็น 0 แล้วถ้า x อยู่ในลำดับ x = a + n * d โดยที่ n เป็นจำนวนเต็มไม่ติดลบ เฉพาะเมื่อ (x - a)/d เป็นจำนวนเต็มไม่ติดลบ
ตัวอย่างโค้ด
#include <iostream>
using namespace std;
bool isInAP(int a, int d, int x) {
if (d == 0)
return (x == a);
return ((x - a) % d == 0 && (x - a) / d >= 0);
}
int main() {
int a = 1, x = 7, d = 3;
if (isInAP(a, d, x))
cout << "The value " << x << " is present in the AP";
else
cout << "The value " << x << " is not present in the AP";
}
ผลลัพธ์
The value 7 is present in the AP