Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm xem số đã cho có trong dãy vô hạn hay không trong C ++


Giả sử chúng ta có ba số nguyên a, b và c. Giả sử trong một dãy vô hạn, a là số hạng đầu tiên và c là hiệu chung. Chúng ta phải kiểm tra xem b có trong dãy hay không. Giả sử các giá trị như a =1, b =7 và c =3, Khi đó chuỗi sẽ là 1, 4, 7, 10,…, do đó 7 có mặt trong chuỗi, do đó đầu ra sẽ là 'yes'.

Để giải quyết vấn đề này, chúng ta phải làm theo hai bước sau -

  • Khi c =0 và a =b thì in ra có, và nếu a không giống b thì trả về không

  • Khi c> 0, thì với mọi số nguyên k không âm, phương trình sẽ là b =a + k * c phải thỏa mãn. Vì vậy (b-a) / c sẽ là một 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);
}

Đầu ra

The answer is: Yes