Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

두 시리즈의 첫 번째 충돌 지점을 찾는 C++ 프로그램

<시간/>

이 기사에서는 첫 번째 충돌 지점, 즉 두 시리즈가 모두 갖는 첫 번째 지점을 찾는 프로그램에 대해 논의할 것입니다.

여기에서 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