The prime Pi function is defined as the number of prime numbers from 1 to a certain given limit. In MATLAB, it is easy to create a prime Pi procedure, because there are built-in functions such as "primes" and "isprime". To calculate the prime Pi up to 100, we may just proceed as follows:
>> numel(primes(100))
>> ans =
25
>> nnz(isprime(1:100))
>> ans =
25
Can we make a function for "composite Pi", which is the number of composite numbers from 1 to a given limit, inclusive? Let's find out...
NOTE: The number '1' is considered as neither prime nor composite.
Solution Stats
Problem Comments
3 Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers6
Suggested Problems
-
Swap the first and last columns
22525 Solvers
-
Remove element(s) from cell array
1981 Solvers
-
Van Eck's Sequence's nth member
327 Solvers
-
Splitting Triangle - Problem the second
34 Solvers
-
Compute the nth term from the golden sieve
19 Solvers
More from this Author116
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
I mean...doing this above 1e10 won't be easy anyway, no matter prime or composite.
Lincoln Poon,
Yes, they're really the same problem, as (designating the composite counting function as κ(n)), κ(n) + ?(n) + 1 = n. There are techniques to do the count without creating an array for x>√n, and even for x>∛n.
If anyone does find a way to solve this precisely without some hack, please, publish a scientific paper, and do not post your code here. This problem is not made from an easy sequence at all.