Пользователь PPCG и избранный мод @Dennis стали вторым пользователем, заработавшим более 100 тысяч повторений!
Это совершенно оригинальная идея, которую я не получил ни от кого другого , но давайте сделаем вызов на основе его идентификатора пользователя, 12012
как дань уважения!
Глядя на это, вы заметите, что есть два отдельных «раздела» его идентификатора.
12
а также
012
Оба этих раздела в сумме дают 3. Это довольно интересное свойство.
Давайте определим «число Денниса 2.0» как любое положительное целое число, где каждая максимальная подпоследовательность строго возрастающих цифр суммируется с одним и тем же числом. Например,
123
является числом Денниса 2.0, потому что существует только один максимальный подсписок строго возрастающих цифр, и его сумма равна 6. Кроме того, 2846145 также является числом Денниса 2.0, потому что три максимальных подсписка возрастающих цифр, а именно
28
46
145
Вся сумма до 10
. Кроме того, числа, которые просто повторяют одну и ту же цифру, должны быть числами Денниса 2.0, потому что, например, 777
их можно разбить на
7
7
7
которые явно все сумма до семи.
Ряд таких , как 42
это не число Дэннис 2.0, так как оно разбивается на
4
2
которые явно не суммируются к одному и тому же числу.
Соревнование
Вы должны написать программу или функцию, чтобы определить, является ли данное число номером Дениса 2.0 или нет. Вы можете взять ввод и вывод в любом приемлемом формате ввода, например, в виде строки, в виде числа, из файла, аргументов / возврата функции, из STDIN / STDOUT и т. Д., А затем вернуть истинное значение, если это число является Денисом 2.0. число и ложное значение, если это не так. Для справки, вот каждый номер Dennis 2.0 до 1000:
1
2
3
4
5
6
7
8
9
11
12
13
14
15
16
17
18
19
22
23
24
25
26
27
28
29
33
34
35
36
37
38
39
44
45
46
47
48
49
55
56
57
58
59
66
67
68
69
77
78
79
88
89
99
101
111
123
124
125
126
127
128
129
134
135
136
137
138
139
145
146
147
148
149
156
157
158
159
167
168
169
178
179
189
202
222
234
235
236
237
238
239
245
246
247
248
249
256
257
258
259
267
268
269
278
279
289
303
312
333
345
346
347
348
349
356
357
358
359
367
368
369
378
379
389
404
413
444
456
457
458
459
467
468
469
478
479
489
505
514
523
555
567
568
569
578
579
589
606
615
624
666
678
679
689
707
716
725
734
777
789
808
817
826
835
888
909
918
927
936
945
999
Применяются стандартные лазейки, и выигрывает самый короткий ответ, измеряемый в байтах!
1236|6
,
между ними? Это, вероятно, сильно растягивает.