A046947 - OEIS
A046947
Numbers k such that |sin(k)| (or |tan(k)| or |sec(k)|) decreases monotonically to 0; also |cos(k)| (or |cosec(k)| or |cot(k)|) increases.
18
1, 3, 22, 333, 355, 103993, 104348, 208341, 312689, 833719, 1146408, 4272943, 5419351, 80143857, 165707065, 245850922, 411557987, 1068966896, 2549491779, 6167950454, 14885392687, 21053343141, 1783366216531, 3587785776203
COMMENTS
Also numerators of convergents to Pi (A002486 gives denominators) beginning at 1.
Integer circumferences of circles with a(0)=1 and a(n+1) is the smallest integer circumference with corresponding diameter nearer an integer than is the diameter of the circle with circumference a(n). See PARI program. - Rick L. Shepherd, Oct 06 2007
REFERENCES
K. H. Rosen et al., eds., Handbook of Discrete and Combinatorial Mathematics, CRC Press, 2000; p. 293.
Suggested by a question from Alan Walker (Alan_Walker(AT)sabre.com)
LINKS
Eric Weisstein's World of Mathematics, Cosecant
EXAMPLE
|sin(4272943)| = 0.000000549579497810490800503139..., |tan(4272943)| = 0.000000549579497810573797346111..., |sec(4272943)| = 1.00000000000015101881221...
|cos(4272943)| = 0.999999999999848981187793172965367089856..., |cosec(4272943)| = 1819572.97167010734684889..., |cot(4272943)| = 1819572.97166983255709999...
MAPLE
Digits := 50; M := 10000; a := [ 1 ]; R := sin(1.); for n from 2 to M do t1 := evalf(sin(n)); if abs(t1)<R then R := abs(t1); a := [ op(a), n ]; fi; od: a;
with(numtheory): cf := cfrac (Pi, 100): seq(nthnumer(cf, i), i=-1..22 ); # Zerinvary Lajos, Feb 07 2007
MATHEMATICA
z={}; current=1; Do[ If[ Abs[ Sin[ n]] < current, AppendTo[ z, current=Abs[ Sin[ n]]]], {n, 1, 10^7}]; z (* or *)
Join[{1}, Table[ Numerator[ FromContinuedFraction[ ContinuedFraction[Pi, n]]], {n, 1, 23}]] (* Wouter Meeussen *)
Join[{1}, Convergents[Pi, 30]//Numerator] (* Harvey P. Dale, May 05 2019 *)
PROG
(PARI) /* Program calculates a(n) without using sin or continued fraction functions */ {d=1/Pi; print1("1, "); for(circum=2, 500000000, dm=circum/Pi; dmin=min(dm-floor(dm), ceil(dm)-dm); if(dmin<d, print1(circum, ", "); d=dmin))} /* or could use dmin=min(frac(dm), 1-frac(dm)) above */ \\ Rick L. Shepherd, Oct 06 2007