login
Nonnegative integers whose trajectory under iteration of taking the absolute value of the alternating sum of the squares of the digits (A257588) includes zero.
1

%I #38 Feb 24 2022 11:29:42

%S 0,7,11,22,29,33,34,38,43,44,47,49,55,56,59,65,66,70,74,77,83,88,92,

%T 94,95,99,108,110,117,125,126,131,138,142,147,148,149,161,168,171,172,

%U 179,182,184,185,195,196,205,212,220,227,234,237,238,241,258,265,269

%N Nonnegative integers whose trajectory under iteration of taking the absolute value of the alternating sum of the squares of the digits (A257588) includes zero.

%C The sequence was initially studied by a group of students at Clifton College, UK.

%C There are infinitely many terms.

%C Having checked up to 10^10, there are approximations for the lower and upper density: 0.23 and 0.25 respectively.

%C Conjecture: there are strings of consecutive terms of arbitrary length.

%C Any number which is formed by concatenating two-digit multiples of 11 is a term.

%e For 7, the trajectory under iteration is 7, 49, 65, 11, 0, ..., so 7 is a term.

%e For 11, the trajectory is 11, 0, ...

%e For 22, the trajectory is 22, 0, ...

%e For 29, the trajectory is 29, 77, 0, ...

%e A non-example is 48. Its trajectory is 48, 48, ...

%t Select[Range[1000], FixedPoint[ Abs[Sum[(-1)^(n + 1)*Part[IntegerDigits[#]^2, n], {n, 1, Length[IntegerDigits[#]]}]] &, #, 10] == 0 &] (* _Luca Onnis_, Feb 23 2022 *)

%o (Python)

%o def happyish_function(number, base: int = 10): # A257588

%o # iterates the process

%o total = 0

%o times = 0

%o while number > 0:

%o total += pow(-1, times) * pow(abs(number) % base, 2)

%o number = abs(number) // base

%o times += 1

%o return abs(total)

%o def is_happyish(number: int) -> bool:

%o # determines whether a number is happyish

%o seen_numbers = set()

%o while number > 0 and number not in seen_numbers:

%o seen_numbers.add(number)

%o number = happyish_function(number)

%o return number == 0

%o def happyish_list(number: int):

%o # creates their list

%o happyish = []

%o n = 0

%o for i in range(number):

%o if is_happyish(i) == True:

%o n +=1

%o happyish.append(i)

%o return happyish

%o happyish_list(100) # an example

%Y Cf. A257588 (iteration step).

%Y Cf. A007770 (sum of squares not alternating).

%K nonn,base

%O 1,2

%A _Stephen Cross_, Jun 23 2021