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

โปรแกรม C++ ตรวจสอบว่าตัวเลขที่กำหนดอยู่ในอนุกรมอนันต์หรือไม่


สมมติว่าเรามีจำนวนเต็มสามจำนวน 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