login
Numbers n such that digit_product(n^2) = (digit_product(n))^2 and n mod 10 > 0.
2

%I #26 Sep 08 2022 08:46:11

%S 1,2,3,101,102,103,104,105,201,202,203,205,301,302,303,305,401,402,

%T 403,405,501,502,503,504,505,506,507,508,509,601,602,603,605,609,661,

%U 701,702,703,705,708,709,801,802,803,805,901,902,903,905,906,983

%N Numbers n such that digit_product(n^2) = (digit_product(n))^2 and n mod 10 > 0.

%C Contains i*10^d + j for i>=1, j mod 10 > 0, j < 10^d/(20*i+1). - _Robert Israel_, Jun 05 2015

%H Reiner Moewald, <a href="/A256114/b256114.txt">Table of n, a(n) for n = 1..15212</a>

%e digit_product(661^2) = digit_product(436921) = 1296 = 36^2 = (digit_product(661))^2.

%p pdigs:= n -> convert(convert(n,base,10),`*`):

%p select(t -> pdigs(t^2)=pdigs(t)^2, [seq(seq(10*k+j,j=1..9),k=0..1000)]); # _Robert Israel_, Jun 05 2015

%t pod[n_] := Times@@ IntegerDigits@ n; Select[ Range[10^4], Mod[#, 10] > 0 && pod[#]^2 == pod[#^2] &] (* _Giovanni Resta_, Jun 23 2015 *)

%o (Python)

%o def product_digits(n):

%o ...results = 1

%o ...while n > 0:

%o ......remainder = n % 10

%o ......results *= remainder

%o ......n = (n-remainder)/10

%o ...return results

%o pos = 0

%o for a in range(1,1000000):

%o ...if product_digits(a*a) == (product_digits(a))*(product_digits(a)) and (a%10 > 0):

%o ......pos += 1

%o ......print(pos, a)

%o (Magma) [t: j in [1..9], k in [0..100] | &*Intseq(t^2) eq &*Intseq(t)^2 where t is 10*k+j]; // _Bruno Berselli_, Jun 23 2015

%Y Cf. A007954, A256115.

%K nonn,base

%O 1,2

%A _Reiner Moewald_, Mar 15 2015