/* * Sometimes the absurdly simple simply gets overlooked. * * This variant courtesy of christian.bau@cbau.freeserve.co.uk * (this is actually the second, faster one). * * A fix was required. */ #include unsigned long long pi(unsigned long long x) { unsigned long long i, j, k, sum; for(i=2,sum=0;i<=x;++i,sum+=k) { for(j=2, k=1; j*j<=i; ++j) { if(i%j==0) { k=0; break; } } } return sum; }