Function Repository Resource:

# AdditivePersistence (1.0.0)current version: 1.1.0 »

Compute the additive persistence of an integer

Contributed by: Christopher Stover

## Details

Starting with a non-negative integer n, add its digits, then add the digits of the resulting number, etc., until the result has only one digit. The number of additions required to reach the single digit stopping point is called the additive persistence of n.
As an example, consider n=1191:
Adding the digits of the result yields 1+2=3. Because 3 is a single-digit number, the process stops.
Because it took two steps to reach the stopping point, ResourceFunction["AdditivePersistence"][1191] returns 2.

## Examples

### Basic Examples (1)

Find the additive persistence of 1191:

 In[1]:=
 Out[1]=

### Scope (2)

 In[2]:=
 Out[2]=

Compute the additive persistence of the first 100 integers (OEIS A031286):

 In[3]:=
 Out[3]=

### Properties and Relations (4)

The result returned by AdditivePersistence can be manually computed using Length with NestWhileList:

 In[4]:=
 Out[4]=

The additive persistence of an integer can also be manually computed with no high-level functions:

 In[5]:=
 Out[5]=
 In[6]:=
 Out[6]=
 In[7]:=
 Out[7]=
 In[8]:=
 Out[8]=
 In[9]:=
 Out[9]=

Because testint3 is a single-digit integer, the process terminates here. Since it took two steps to reach testint3, the additive persistence of testint1=1234 is equal to 2:

 In[10]:=
 Out[10]=

The single-digit integer that marks the end of the digit addition process is called the additive digital root and is returned by the resource function AdditiveDigitalRoot:

 In[11]:=
 Out[11]=
 In[12]:=
 Out[12]=
 In[13]:=
 Out[13]=
 In[14]:=
 Out[14]=

The multiplicative analogue of additive persistence is called multiplicative persistence and is returned by the resource function MultiplicativePersistence:

 In[15]:=
 Out[15]=
 In[16]:=
 Out[16]=
 In[17]:=
 Out[17]=
 In[18]:=
 Out[18]=

### Possible Issues (1)

AdditivePersistence requires its input to be non-negative:

 In[19]:=
 Out[19]=

### Neat Examples (1)

The smallest integers with additive persistence equal to 0,1,2,3,4, (OEIS A006050):

 In[20]:=
 Out[20]=

The smallest integer with additive persistence 5 is known to equal 1 followed by 2222222222222222222222 9’s.

therealcstover

## Version History

• 1.1.0 – 25 May 2023
• 1.0.0 – 09 August 2022

## Author Notes

Future versions of this will likely contain expansion to allow for integers in bases other than 10.