Legendre prime counting function: Difference between revisions

Removed memoization from Java solution
(Removed memoization from C++ solution)
(Removed memoization from Java solution)
Line 360:
 
private List<Integer> primes;
private Map<Integer, Map<Integer, Integer>> phiCache = new HashMap<>();
 
public LegendrePrimeCounter(int limit) {
Line 376 ⟶ 375:
if (a == 0)
return x;
if (a == 1)
Map<Integer, Integer> map = phiCache.computeIfAbsent(x, k -> new HashMap<>());
Integer value = map.get return x - (ax >> 1);
ifint (valuepa != nullprimes.get(a - 1);
if (x <= return value;pa)
int result = phi(x, a - 1) - phi(x / primes.get(a - 1), a -return 1);
mapreturn phi(x, a - 1) - phi(x / primes.putget(a - 1), resulta - 1);
return result;
}
 
1,777

edits