Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,51 @@
|
|||
import java.util.*;
|
||||
|
||||
public class MultiplicativeDigitalRoot {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
System.out.println("NUMBER MDR MP");
|
||||
for (long n : new long[]{123321, 7739, 893, 899998}) {
|
||||
long[] a = multiplicativeDigitalRoot(n);
|
||||
System.out.printf("%6d %4d %4d%n", a[0], a[1], a[2]);
|
||||
}
|
||||
|
||||
System.out.println();
|
||||
|
||||
Map<Long, List<Long>> table = new HashMap<>();
|
||||
for (long i = 0; i < 10; i++)
|
||||
table.put(i, new ArrayList<>());
|
||||
|
||||
for (long cnt = 0, n = 0; cnt < 10;) {
|
||||
long[] res = multiplicativeDigitalRoot(n++);
|
||||
List<Long> list = table.get(res[1]);
|
||||
if (list.size() < 5) {
|
||||
list.add(res[0]);
|
||||
cnt = list.size() == 5 ? cnt + 1 : cnt;
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println("MDR: first five numbers with same MDR");
|
||||
table.forEach((key, lst) -> {
|
||||
System.out.printf("%3d: ", key);
|
||||
lst.forEach(e -> System.out.printf("%6s ", e));
|
||||
System.out.println();
|
||||
});
|
||||
}
|
||||
|
||||
public static long[] multiplicativeDigitalRoot(long n) {
|
||||
int mp = 0;
|
||||
long mdr = n;
|
||||
while (mdr > 9) {
|
||||
long m = mdr;
|
||||
long total = 1;
|
||||
while (m > 0) {
|
||||
total *= m % 10;
|
||||
m /= 10;
|
||||
}
|
||||
mdr = total;
|
||||
mp++;
|
||||
}
|
||||
return new long[]{n, mdr, mp};
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue