fork download
  1. #include<iostream>
  2. #include<vector>
  3.  
  4. auto h(auto i){return 0;}
  5. auto h(auto i, auto x, auto...p){
  6. return x+(i-1?h(i-1,p...):0);
  7. }
  8.  
  9. auto g(auto v){return v;}
  10. auto g(auto v,auto x, auto...p){
  11. v.push_back(h(x,x,p...));
  12. return g(v,p...);
  13. }
  14.  
  15. auto f(auto...p){
  16. return g(std::vector<int>{},p...);
  17. }
  18.  
  19. int main() {
  20. auto v = f(5, 1, 2, 4, 1);
  21. for (auto i:v) std::cout << i << ", ";
  22. std::cout << std::endl;
  23. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
13, 1, 6, 5, 1,