My small program crashes before even entering the called method, any ideas?
OUTPUT : STARTCode:#include <stdio.h> #include <vector> #include <string> using namespace std; vector<int> primeFactors[1000001]; void genPrimeFactors() { printf("IN"); int c=0; int composites[1000000]={0}; for(int i=2;i<=1000000;++i) { if(!composites[i]) for(int j=2*i;j<=1000000;j+=i) { c++; printf("%d %d",i,j); composites[j] = 1; primeFactors[j].push_back(i); } } for(int i=2;i<=1000000;++i) { c++; if(!composites[i]) primeFactors[i].push_back(i); } printf("%d",c); } int main() { printf("START"); genPrimeFactors(); return 0; }
**CRASHES**
I am very confused
it never even prints "IN" , it seems as though it never makes it inside the method.