이 기사에서는 첫 번째 충돌 지점, 즉 두 시리즈가 모두 갖는 첫 번째 지점을 찾는 프로그램에 대해 논의할 것입니다.
여기에서 5개의 변수 '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