How to find N unique integers sum up to zero in C++

2 Answers

0 votes
#include <iostream>  
#include <vector>  
   
std::vector<int> unique_integers_sum_up_to_zero(int n) {
    std::vector<int> v(n);
    
    for (int i = 0; i < n; i++) {
        v[i] = 2 * i - n + 1;
    }
    
    return v;
}
int main() {
    int n = 5;
    
    std::vector<int> result = unique_integers_sum_up_to_zero(n);
    
    for (auto val: result) {
        std::cout << val << " ";
    }
}
   
   
   
   
/*
run:
   
-4 -2 0 2 4 
   
*/

 



answered Apr 16, 2024 by avibootz
0 votes
#include <iostream>  
#include <vector>  
   
std::vector<int> unique_integers_sum_up_to_zero(int n) {
    std::vector<int> v;

    for (int i = 1; i <= n / 2; i++) {
        v.push_back(-i);
        v.push_back(i);
    }
    
    if (n % 2 != 0) {
        v.push_back(0);
    }
    
    return v;
}
int main() {
    int n = 5;
    
    std::vector<int> result = unique_integers_sum_up_to_zero(n);
    
    for (auto val: result) {
        std::cout << val << " ";
    }
}
   
   
   
   
/*
run:
   
-1 1 -2 2 0 
   
*/

 



answered Apr 16, 2024 by avibootz

Related questions

2 answers 143 views
1 answer 106 views
1 answer 92 views
2 answers 118 views
2 answers 195 views
...