สมมติว่าเรามีจำนวนเต็มสามจำนวน a, b และ c สมมติว่าในอนุกรมอนันต์ a คือพจน์แรก และ c คือความต่างร่วม เราต้องตรวจสอบว่า b อยู่ในอนุกรมหรือไม่ สมมติค่าเป็น a = 1, b = 7 และ c = 3 อนุกรมจะเป็น 1, 4, 7, 10, ... ดังนั้น 7 อยู่ในอนุกรม ผลลัพธ์จะเป็น 'yes'
เพื่อแก้ปัญหานี้ เราต้องทำตามสองขั้นตอนนี้:
- เมื่อ c = 0 และ a = b ให้พิมพ์ yes และถ้า a ไม่เท่ากับ b ให้คืนค่า no
- เมื่อ c > 0 สำหรับจำนวนเต็มไม่ลบ k ใดๆ สมการจะเป็น b = a + k*c ต้องเป็นจริง ดังนั้น (b-a)/c จะเป็นจำนวนเต็มไม่ลบ
ตัวอย่างโค้ด C++
#include <iostream>
using namespace std;
void isBInSequence(int a, int b, int c){
if (a == b)
cout << "Yes";
if ((b - a) * c > 0 && (b - a) % c == 0)
cout << "Yes";
else
cout << "No";
}
int main() {
int a = 1, b = 7, c = 3;
cout << "The answer is: ";
isBInSequence(a, b, c);
}
ผลลัพธ์
The answer is: Yes