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

ค้นหาว่าตัวเลขที่ระบุมีอยู่ในลำดับอนันต์หรือไม่ใน C++


สมมติว่าเรามีจำนวนเต็มสามจำนวน a, b และ c สมมติว่าในลำดับอนันต์ a คือพจน์แรก และ c คือผลต่างร่วม เราต้องตรวจสอบว่า b อยู่ในลำดับหรือไม่ สมมติว่าค่าเหมือน a =1, b =7 และ c =3 จากนั้นลำดับจะเป็น 1, 4, 7, 10, … ดังนั้น 7 จึงอยู่ในลำดับ ดังนั้นผลลัพธ์จะเป็น 'ใช่'

เพื่อแก้ปัญหานี้ เราต้องปฏิบัติตามสองขั้นตอนนี้ -

  • เมื่อ c =0 และ a =b ให้พิมพ์ yes และถ้า a ไม่เหมือนกับ b ให้คืนค่า no

  • เมื่อ c> 0 ดังนั้นสำหรับจำนวนเต็มที่ไม่เป็นลบ k สมการจะเป็น b =a + k*c ต้องเป็นไปตามนั้น ดังนั้น (b-a)/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