#include <cmath> #include <fstream> #include <iomanip> #include <iostream> using namespace std; void printPrimeUpTo(std::ostream& os,int upper); int getDigitNum(int upper); int main(void) { ofstream outfile("prime.txt"); if(!outfile) { cerr << "can not open output file" << endl; return -1; } printPrimeUpTo(outfile, 999); return 0; } int getDigitNum(int upper) { upper = abs(upper); int num = 0; do { ++num; upper /= 10; } while(upper); return num; } void printPrimeUpTo(std::ostream& os, int upper) { if(upper < 2) return; int size = upper - 1; bool *t = new bool[size]; for(int i = 0; i != size; ++i) t[i] = true; int index = 0, p; while(tr