The output is not the output of the algorithm, it’s the output of the unit test.
95% of numbers up to that point at not prime. Testing the algorithm that only says “not prime” is therefore correct 95% of the time. The joke is that, similar to AI, the algorithm is being presented as a useful tool because it’s correct often but not always.
I’m confused, shouldn’t this be printing false no matter what the input is?
The output is not the output of the algorithm, it’s the output of the unit test.
95% of numbers up to that point at not prime. Testing the algorithm that only says “not prime” is therefore correct 95% of the time. The joke is that, similar to AI, the algorithm is being presented as a useful tool because it’s correct often but not always.
that’s the joke, since most numbers aren’t prime, this function is technically highly accurate despite being completely useless.
The test suite probably looks something like this:
int tests_passed=0; int tests_failed=0; for(int i=0;i<100000;i++){ printf("test no. %d: ", i); if(is_prime(i)==actually_is_prime(i)){ printf("passed\n"); tests_passed++; }else{ printf("failed\n"); tests_failed++; } } //...Ah that makes more sense thanks. So the bottom one is a unit test and not the code being run itself
Removed by mod
Removed by mod