login
Remove prime factors of form 4*k+3.
5

%I #26 Aug 20 2024 07:48:26

%S 1,2,1,4,5,2,1,8,1,10,1,4,13,2,5,16,17,2,1,20,1,2,1,8,25,26,1,4,29,10,

%T 1,32,1,34,5,4,37,2,13,40,41,2,1,4,5,2,1,16,1,50,17,52,53,2,5,8,1,58,

%U 1,20,61,2,1,64,65,2,1,68,1,10,1,8,73,74,25,4,1,26,1,80,1,82,1,4,85,2,29

%N Remove prime factors of form 4*k+3.

%C a(n) <= n; a(a(n)) = a(n); for all factors p^m of a(n): p=2 or p=4*k+1.

%H Alois P. Heinz, <a href="/A072436/b072436.txt">Table of n, a(n) for n = 1..10000</a>

%F Multiplicative with a(p) = (if p==3 (mod 4) then 1 else p).

%e a(90) = a(2*3*3*5) = a(2*(4*0+3)^2*(4*1+1)^1) = 2*1^2*5 = 10.

%p a:= n-> mul(`if`(irem(i[1], 4)=3, 1, i[1]^i[2]), i=ifactors(n)[2]):

%p seq(a(n), n=1..100); # _Alois P. Heinz_, Jun 09 2014

%t a[n_] := n/Product[{p, e} = pe; If[Mod[p, 4] == 3, p^e, 1], {pe, FactorInteger[n]}];

%t Array[a, 100] (* _Jean-François Alcover_, May 29 2019 *)

%o (Python)

%o from sympy import factorint

%o from operator import mul

%o def a(n):

%o f = factorint(n)

%o return 1 if n == 1 else reduce(mul, [1 if i%4==3 else i**f[i] for i in f])# _Indranil Ghosh_, May 08 2017

%o (PARI) a(n) = my(f=factor(n)); for (k=1, #f~, if ((f[k,1] % 4) == 3, f[k,1]=1)); factorback(f); \\ _Michel Marcus_, May 08 2017

%Y Cf. A072438, A072437, A002144, A002145, A065338.

%Y Equals n / A097706(n).

%K nonn,mult,easy

%O 1,2

%A _Reinhard Zumkeller_, Jun 17 2002