Input:
Given integers m
and n
which are the modular and multiplier for sequence.
Output:
Return all cyclic sequences of length greater than one for Digit roots of n
* i
in base m
+ 1
Digital sum, DR, Digit root is the iterative process of summing digits of a number until you end up with a single digit root number: e.g. digit root of 12345 is 6 since 12345 = 1 + 2 + 3 + 4 + 5 = 6 represented in base 10. also look at digit root challenge
- \$1\$ ≤ \$i\$ ≤ \$m\$
- \$1\$ ≤ \$DR(n*i) \$ ≤ \$m\$
- \$DR(i) = i \$
- \$DR(-m) = 0 \$
- \$|DR(-x)| \equiv DR(x) \equiv -DR(x)\$ (mod \$ m) \$
- \$DR(a+b) = DR(DR(a)+DR(b))\$
- \$DR(a-b) \cong (DR(a)-DR(b))\$ (mod \$ m) \$
Example Input:
9 4
Example Output:
1 4 7
2 5 8
More details:
m=9, n=4
DR(4*1) -> 4
DR(4*4) -> 7
DR(4*7) -> 1 = first i
A cycle happens when going through numbers 1 trough m
taking digit root of n
* i
and then digit root of n
* result of previous call and so on until returns to the first i
.
Note that if there is no cycle taking digit root of n
* i
would simply result to i
.
So we store this sequence in something like a hash set for all the i
's and then return all the sequences.
Challenge
All the normal code-golf rules are applied excepts the answer with smaller sum of digit roots of each individual byte wins.
PS: You could also look at my sad web app: https://thevortex.netlify.app/