A219930 n such that phi(n) represents a new lower bound for the phi function.
1, 3, 8, 14, 20, 36, 48, 66, 70, 96, 126, 132, 156, 240, 252, 300, 336, 450, 480, 540, 660, 690, 714, 870, 900, 1080, 1320, 1470, 1530, 1710, 1950, 2340, 2940, 2970, 3360, 3780, 4200, 4830, 5040, 5610, 5670, 5880, 6270, 7140, 7350, 7410, 8400, 9660, 9870
Offset: 1
Keywords
Examples
phi(1)=1, and for n>=1, phi(n)>=1. phi(3)=2, and for n>=3, phi(n)>=2. phi(8)=4, and for n>=8, phi(n)>=4. phi(14)=6, and for n>=14, phi(n)>=6.
Links
- Vincenzo Librandi, Table of n, a(n) for n = 1..200
Programs
-
JavaScript
p = new Array(); p[0] = NaN; p[1] = 2; p[2] = 3; mj = 2; for (k = 3; k < 50000; k += 2) makeprimes(k); function makeprimes(i) { for (j = 2; j <= mj; j++) if (i%p[j] == 0) return false; p[++mj] = i; return true; } function primeFactorize(n) { var pf = new Array(), pc, pfc; pf[0] = new Array(); pf[1] = new Array(); pc = 1; pfc = -1; while (n != 1) { if (n%p[pc] == 0) {pfc++; pf[0][pfc] = p[pc]; pf[1][pfc] = 0;} while (n%p[pc] == 0) {n /= p[pc]; pf[1][pfc]++;} pc++; } return pf; } function phi(n) { var f, i, v; v = 1; f = primeFactorize(n); for (i = 0; i < f[0].length; i++) v *= Math.pow(f[0][i], f[1][i] - 1)*(f[0][i] - 1); return v; } function isMin(arr, ik, k) { var i, im; im = true; for (i = ik; i < arr.length; i++) if (arr[i] < k) {im = false; break;} return im; } phiV = new Array(); for (k = 1; k < 50000; k++) phiV[k] = phi(k); cm = 1; for (n = 1; n < 3000; n++) if (phiV[n] > cm && isMin(phiV, n, phiV[n])) {cm = phiV[n]; document.write(n + ", ");}
-
Mathematica
nn = 8!; t = Table[EulerPhi[n], {n, nn}]; min = Infinity; t2 = {}; Do[If[t[[n]] <= min, AppendTo[t2, {n, t[[n]]}]; min = t[[n]]], {n, Length[t], 1, -1}]; t2 = Reverse[t2]; t3 = {}; mx = 0; Do[If[i[[2]] > mx, mx = i[[2]]; AppendTo[t3, i[[1]]]], {i, t2}]; t3 (* T. D. Noe, Dec 04 2012 *)
Comments