ในบทความนี้ เราจะพูดถึงโปรแกรมเพื่อค้นหาจุดชนกันจุดแรก นั่นคือจุดแรกที่ทั้งสองซีรีส์มี
ในที่นี้ เราจะมีตัวแปรห้าตัวคือ 'a', 'b', 'c', 'd' และ 'n' เราต้องสร้างลำดับเลขคณิตสองชุดจากชุดนี้มีเลข n หลัก
b, b+a, b+2a, ….b+(n-1)a d, d+c, d+2c, ….. d+(n-1)c
แล้วหาจุดร่วมแรกที่ทั้งสองชุดมี
เพื่อแก้ปัญหานี้ เราจะสร้างตัวเลขในชุดแรก และสำหรับแต่ละตัวเลข เราจะตรวจสอบว่ามันมากกว่าหรือเท่ากับจำนวนแรกของชุดที่สองหรือไม่ และด้วยว่าความแตกต่างระหว่างตัวเลขนั้นกับ 'd' หารด้วย c ลงตัวหรือไม่ หากเป็นไปตามเงื่อนไขทั้งสอง กว่าตัวเลขปัจจุบันในชุดแรกจะเป็นผลลัพธ์
ตัวอย่าง
#include<bits/stdc++.h> using namespace std; void calc_series(int a, int b, int c, int d, int n) { int x , flag = 0; //creating the numbers of first series for (int i = 0; i < n; i++) { x = b + i * a; //checking if it exists in second series if ((x - d) % c == 0 and x - d >= 0){ cout << "First collision point : "<< x << endl; flag = 1; break; } } if(flag == 0) { cout << "No collision point exists" << endl; } } int main() { int a = 16; int b = 9; int c = 23; int d = 19; int n = 78; calc_series(a, b, c, d, n); return 0; }
ผลลัพธ์
First collision point : 249