Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Kiểm tra số có nằm trong dãy vô hạn hay không bằng C++


Giả sử có ba số nguyên a, b và c. Trong một dãy vô hạn, a là số hạng đầu tiên và c là công sai. Cần kiểm tra xem b có xuất hiện trong dãy hay không. Ví dụ a = 1, b = 7 và c = 3, dãy sẽ là 1, 4, 7, 10, … nên 7 có trong dãy, kết quả là "yes".

Để giải quyết, thực hiện hai bước:

  • Khi c = 0 và a = b thì in "yes", nếu a khác b thì trả về "no"

  • Khi c > 0, với bất kỳ số nguyên không âm k nào, phương trình b = a + k*c phải thỏa mãn. Do đó (b-a)/c phải là số nguyên không âm.

Ví dụ

#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); }

Kết quả

The answer is: Yes