fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. vector<int> evenNumbers(vector<int> arr, int n) {
  6. vector<int> ans;
  7. for(int i = arr.size() - 1; i >= 0; i--) {
  8. if(ans.size() == n) break;
  9. if(arr[i] % 2 == 0) ans.insert(ans.begin(), arr[i]);
  10. }
  11. return ans;
  12. }
  13.  
  14. int main() {
  15. // Test cases
  16. vector<int> test1 = {1, 2, 3, 4, 5, 6, 7, 8, 9};
  17. vector<int> test2 = {9, 7, 5, 3, 2, 4, 6, 8};
  18. vector<int> test3 = {2, 2, 2, 2, 2};
  19.  
  20. // Test 1: Get last 3 even numbers
  21. vector<int> result1 = evenNumbers(test1, 3);
  22. cout << "Test 1: ";
  23. for(int num : result1) cout << num << " ";
  24. cout << endl; // Expected: 4 6 8
  25.  
  26. // Test 2: Get last 2 even numbers
  27. vector<int> result2 = evenNumbers(test2, 2);
  28. cout << "Test 2: ";
  29. for(int num : result2) cout << num << " ";
  30. cout << endl; // Expected: 6 8
  31.  
  32. // Test 3: Get last 3 even numbers (all same)
  33. vector<int> result3 = evenNumbers(test3, 3);
  34. cout << "Test 3: ";
  35. for(int num : result3) cout << num << " ";
  36. cout << endl; // Expected: 2 2 2
  37.  
  38. return 0;
  39. }
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
Test 1: 4 6 8 
Test 2: 6 8 
Test 3: 2 2 2