|
|
A063985
|
|
Partial sums of cototient sequence A051953.
|
|
10
|
|
|
0, 1, 2, 4, 5, 9, 10, 14, 17, 23, 24, 32, 33, 41, 48, 56, 57, 69, 70, 82, 91, 103, 104, 120, 125, 139, 148, 164, 165, 187, 188, 204, 217, 235, 246, 270, 271, 291, 306, 330, 331, 361, 362, 386, 407, 431, 432, 464, 471, 501, 520, 548, 549, 585, 600, 632, 653, 683
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,3
|
|
COMMENTS
|
8*a(n) is the number of dots not in direct reach via a straight line from the center of a 2*n+1 X 2*n+1 array of dots. - Kiran Ananthpur Bacche, May 25 2022
|
|
LINKS
|
|
|
FORMULA
|
G.f.: x/(1 - x)^3 - (1/(1 - x))*Sum_{k>=1} mu(k)*x^k/(1 - x^k)^2. - Ilya Gutkovskiy, Mar 18 2017
a(n) = (1/2 - 3/Pi^2)*n^2 + O(n*log(n)). - Amiram Eldar, Jul 26 2022
|
|
MATHEMATICA
|
Accumulate[Table[n-EulerPhi[n], {n, 1, 60}]] (* Harvey P. Dale, Aug 19 2015 *)
|
|
PROG
|
(PARI) { a=0; for (n=1, 1000, write("b063985.txt", n, " ", a+=n - eulerphi(n)) ) } \\ Harry J. Smith, Sep 04 2009
(Haskell)
a063985 n = length [()| x <- [1..n], y <- [x..n], gcd x y > 1]
(Python)
from sympy.ntheory import totient
def a(n): return sum(x - totient(x) for x in range(1, n + 1))
(Python)
from functools import lru_cache
@lru_cache(maxsize=None)
if n == 0:
return 0
c, j = 0, 2
k1 = n//j
while k1 > 1:
j2 = n//k1 + 1
c += (j2-j)*(k1*(k1+1)-2*A063985(k1)-1)
j, k1 = j2, n//j2
(Java)
// Save the file as A063985.java to compile and run
import java.util.stream.IntStream;
import java.util.*;
public static int getInvisiblePoints(int n) {
Set<Float> slopes = new HashSet<Float>();
IntStream.rangeClosed(1, n).forEach(i ->
{IntStream.rangeClosed(1, n).forEach(j ->
slopes.add(Float.valueOf((float)i/(float)j))); });
return (n * n - slopes.size() + n - 1) / 2;
}
public static void main(String args[]) throws Exception {
IntStream.rangeClosed(1, 30).forEach(i ->
System.out.println(getInvisiblePoints(i)));
}
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|