HackerRank初級篇之Between Two Sets
阿新 • • 發佈:2019-02-08
題目說明:
題目解讀:
1、給定2個整數集合A、B
2、求集合C滿足條件的元素個數:(A中的元素是C中元素的因子,C中元素是B中元素的因子)
示例程式碼:
// BetweenTwoSets.cpp: 定義控制檯應用程式的入口點。 // //已知AC兩集合,求B(A是B的因子,B是A的因子) // #include "stdafx.h" #include <windows.h> #include <vector> #include <algorithm> #include <iostream> using namespace std; //by zhaocl int main() { int m, n; int c = 0; bool bTrue = true; cin >> n; vector<int> arrOne( n ); for( int i = 0; i < n; i++ ) { cin >> arrOne[i]; } sort( arrOne.begin(), arrOne.end() ); cin >> m; vector<int> arrTwo( m ); for( int i = 0; i < m; i++ ) { cin >> arrTwo[i]; } sort( arrTwo.begin(), arrTwo.end() ); for( int i = arrOne[n - 1]; i <= arrTwo[0]; i++ ) { bTrue = true; for( int j = 0; j < n; j++ ) { if( i % arrOne[j] != 0 ) { bTrue = false; goto EndHere; } } for( int k = 0; k < m; k++ ) { if( arrTwo[k] % i != 0 ) { bTrue = false; goto EndHere; } } EndHere: if( bTrue ) { c++; } } system( "pause" ); return 0; }
基礎知識點:
1、因子、最小公約數、最小公倍數,理解了就很容易
2、goto跳出多層迴圈