Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตรวจสอบว่าตัวเลขอยู่ในลำดับเลขคณิต (AP) ที่กำหนดพจน์แรกและความต่างหรือไม่ด้วย C++

สมมติว่าเรามีพจน์แรกของลำดับเลขคณิต (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