免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
12下一页
最近访问板块 发新帖
查看: 2073 | 回复: 12

[数值计算] 可递归次数的计算 [复制链接]

论坛徽章:
17
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:20程序设计版块每日发帖之星
日期:2015-12-31 06:20:022015亚冠之塔什干棉农
日期:2015-08-17 19:49:49程序设计版块每日发帖之星
日期:2015-06-04 22:20:00程序设计版块每日发帖之星
日期:2015-06-04 16:12:382015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年迎新春徽章
日期:2015-03-04 09:57:09
发表于 2018-03-25 09:20 |显示全部楼层
本帖最后由 bikkuri 于 2018-03-25 09:23 编辑

大家好!
我有一个问题向大家请教。
假设有一个函数f(abc...n)=a*b*c*...*n,即函数值为变量的各数位数字的乘积,例如:
f(234)=2*3*4=24
继续以函数值为变量代入函数进行递归预算,可以得到f(24)=2*4=8;
而再次递归,可以得到f(8)=8;
当函数值等于变量时停止运算。
这样我们可以得到一条递归路径:
234 - 24 - 8
类似地我们可以计算出任何整数的函数递归路径:
678 - 336 - 54 - 20 - 0
1589 - 360 - 0
27893 - 3024 - 0
6393 - 486 - 192 - 18 - 8
88 - 64 - 24 - 8
78 - 56 - 30 - 0
-----------------------------------------
现在要求的是计算出1-100之内递归路径最长的数,并将其递归路径按以上格式打印出来,如果有并列最长的,则将多个并列最长的递归路径全部打印出来。
谢谢大家!

论坛徽章:
0
发表于 2018-03-25 17:06 |显示全部楼层
本帖最后由 本友会机友会摄友会 于 2018-03-25 17:23 编辑

有点意思,此题将被我拿走做教学了。

  1. function 递归的f ([uint64]$传入值)
  2. {
  3.         $Script:本次递归路径 = '' + $Script:本次递归路径 + $传入值 + ' - '
  4.         $Script:本次递归次数++

  5.         $传入值2 = $传入值.tostring().ToCharArray()
  6.         if ($传入值2.length -lt 2)
  7.         {
  8.                 return
  9.         }
  10.         else
  11.         {
  12.                 [uint64]$积 = 1
  13.                 foreach ($temp1 in $传入值2)
  14.                 {
  15.                         $temp2 = [char]::GetNumericValue($temp1)
  16.                         $积 = $积 * $temp2
  17.                 }
  18.                 ( 递归的f($积) )
  19.         }

  20. }

  21. $Script:所有递归路径数组 = @()
  22. foreach ($i in 1..999)
  23. {
  24.         [string]$Script:本次递归路径 = ''
  25.         [byte]$Script:本次递归次数 = 0

  26.         递归的f ($i)
  27.         $Script:哈希表 =
  28.         [pscustomobject]@{
  29.                 'i值'     = $i
  30.                 '递归次数'   = $Script:本次递归次数
  31.                 '本次递归路径' = $Script:本次递归路径
  32.         }
  33. #        $Script:哈希表
  34. #        pause
  35.         $Script:所有递归路径数组 += $Script:哈希表
  36. }
  37. $Script:所有递归路径数组 |Format-Table -AutoSize
  38. #返回所有


  39. $结果 = $Script:所有递归路径数组 |Group-Object -Property 递归次数 | Select-Object -Last 1
  40. $结果.group
  41. #返回最长
复制代码


没仔细看,结果对不对。
-----------------------------------------------
i值 递归次数 本次递归路径
--- -------- ------------
  1        1 1 -
  2        1 2 -
  3        1 3 -
  4        1 4 -
  5        1 5 -
  6        1 6 -
  7        1 7 -
  8        1 8 -
  9        1 9 -
10        2 10 - 0 -
11        2 11 - 1 -
12        2 12 - 2 -
13        2 13 - 3 -
14        2 14 - 4 -
15        2 15 - 5 -
16        2 16 - 6 -
17        2 17 - 7 -
18        2 18 - 8 -
19        2 19 - 9 -
20        2 20 - 0 -
21        2 21 - 2 -
22        2 22 - 4 -
23        2 23 - 6 -
24        2 24 - 8 -
25        3 25 - 10 - 0 -
26        3 26 - 12 - 2 -
27        3 27 - 14 - 4 -
28        3 28 - 16 - 6 -
29        3 29 - 18 - 8 -
30        2 30 - 0 -
31        2 31 - 3 -
32        2 32 - 6 -
33        2 33 - 9 -
34        3 34 - 12 - 2 -
35        3 35 - 15 - 5 -
36        3 36 - 18 - 8 -
37        3 37 - 21 - 2 -
38        3 38 - 24 - 8 -
39        4 39 - 27 - 14 - 4 -
40        2 40 - 0 -
41        2 41 - 4 -
42        2 42 - 8 -
43        3 43 - 12 - 2 -
44        3 44 - 16 - 6 -
45        3 45 - 20 - 0 -
46        3 46 - 24 - 8 -
47        4 47 - 28 - 16 - 6 -
48        3 48 - 32 - 6 -
49        4 49 - 36 - 18 - 8 -
50        2 50 - 0 -
51        2 51 - 5 -
52        3 52 - 10 - 0 -
53        3 53 - 15 - 5 -
54        3 54 - 20 - 0 -
55        4 55 - 25 - 10 - 0 -
56        3 56 - 30 - 0 -
57        4 57 - 35 - 15 - 5 -
58        3 58 - 40 - 0 -
59        4 59 - 45 - 20 - 0 -
60        2 60 - 0 -
61        2 61 - 6 -
62        3 62 - 12 - 2 -
63        3 63 - 18 - 8 -
64        3 64 - 24 - 8 -
65        3 65 - 30 - 0 -
66        4 66 - 36 - 18 - 8 -
67        3 67 - 42 - 8 -
68        4 68 - 48 - 32 - 6 -
69        4 69 - 54 - 20 - 0 -
70        2 70 - 0 -
71        2 71 - 7 -
72        3 72 - 14 - 4 -
73        3 73 - 21 - 2 -
74        4 74 - 28 - 16 - 6 -
75        4 75 - 35 - 15 - 5 -
76        3 76 - 42 - 8 -
77        5 77 - 49 - 36 - 18 - 8 -
78        4 78 - 56 - 30 - 0 -
79        4 79 - 63 - 18 - 8 -
80        2 80 - 0 -
81        2 81 - 8 -
82        3 82 - 16 - 6 -
83        3 83 - 24 - 8 -
84        3 84 - 32 - 6 -
85        3 85 - 40 - 0 -
86        4 86 - 48 - 32 - 6 -
87        4 87 - 56 - 30 - 0 -
88        4 88 - 64 - 24 - 8 -
89        4 89 - 72 - 14 - 4 -
90        2 90 - 0 -
91        2 91 - 9 -
92        3 92 - 18 - 8 -
93        4 93 - 27 - 14 - 4 -
94        4 94 - 36 - 18 - 8 -
95        4 95 - 45 - 20 - 0 -
96        4 96 - 54 - 20 - 0 -
97        4 97 - 63 - 18 - 8 -
98        4 98 - 72 - 14 - 4 -
99        3 99 - 81 - 8 -
100        2 100 - 0 -
101        2 101 - 0 -
102        2 102 - 0 -
103        2 103 - 0 -
104        2 104 - 0 -
105        2 105 - 0 -
106        2 106 - 0 -
107        2 107 - 0 -
108        2 108 - 0 -
109        2 109 - 0 -
110        2 110 - 0 -
111        2 111 - 1 -
112        2 112 - 2 -
113        2 113 - 3 -
114        2 114 - 4 -
115        2 115 - 5 -
116        2 116 - 6 -
117        2 117 - 7 -
118        2 118 - 8 -
119        2 119 - 9 -
120        2 120 - 0 -
121        2 121 - 2 -
122        2 122 - 4 -
123        2 123 - 6 -
124        2 124 - 8 -
125        3 125 - 10 - 0 -
126        3 126 - 12 - 2 -
127        3 127 - 14 - 4 -
128        3 128 - 16 - 6 -
129        3 129 - 18 - 8 -
130        2 130 - 0 -
131        2 131 - 3 -
132        2 132 - 6 -
133        2 133 - 9 -
134        3 134 - 12 - 2 -
135        3 135 - 15 - 5 -
136        3 136 - 18 - 8 -
137        3 137 - 21 - 2 -
138        3 138 - 24 - 8 -
139        4 139 - 27 - 14 - 4 -
140        2 140 - 0 -
141        2 141 - 4 -
142        2 142 - 8 -
143        3 143 - 12 - 2 -
144        3 144 - 16 - 6 -
145        3 145 - 20 - 0 -
146        3 146 - 24 - 8 -
147        4 147 - 28 - 16 - 6 -
148        3 148 - 32 - 6 -
149        4 149 - 36 - 18 - 8 -
150        2 150 - 0 -
151        2 151 - 5 -
152        3 152 - 10 - 0 -
153        3 153 - 15 - 5 -
154        3 154 - 20 - 0 -
155        4 155 - 25 - 10 - 0 -
156        3 156 - 30 - 0 -
157        4 157 - 35 - 15 - 5 -
158        3 158 - 40 - 0 -
159        4 159 - 45 - 20 - 0 -
160        2 160 - 0 -
161        2 161 - 6 -
162        3 162 - 12 - 2 -
163        3 163 - 18 - 8 -
164        3 164 - 24 - 8 -
165        3 165 - 30 - 0 -
166        4 166 - 36 - 18 - 8 -
167        3 167 - 42 - 8 -
168        4 168 - 48 - 32 - 6 -
169        4 169 - 54 - 20 - 0 -
170        2 170 - 0 -
171        2 171 - 7 -
172        3 172 - 14 - 4 -
173        3 173 - 21 - 2 -
174        4 174 - 28 - 16 - 6 -
175        4 175 - 35 - 15 - 5 -
176        3 176 - 42 - 8 -
177        5 177 - 49 - 36 - 18 - 8 -
178        4 178 - 56 - 30 - 0 -
179        4 179 - 63 - 18 - 8 -
180        2 180 - 0 -
181        2 181 - 8 -
182        3 182 - 16 - 6 -
183        3 183 - 24 - 8 -
184        3 184 - 32 - 6 -
185        3 185 - 40 - 0 -
186        4 186 - 48 - 32 - 6 -
187        4 187 - 56 - 30 - 0 -
188        4 188 - 64 - 24 - 8 -
189        4 189 - 72 - 14 - 4 -
190        2 190 - 0 -
191        2 191 - 9 -
192        3 192 - 18 - 8 -
193        4 193 - 27 - 14 - 4 -
194        4 194 - 36 - 18 - 8 -
195        4 195 - 45 - 20 - 0 -
196        4 196 - 54 - 20 - 0 -
197        4 197 - 63 - 18 - 8 -
198        4 198 - 72 - 14 - 4 -
199        3 199 - 81 - 8 -
200        2 200 - 0 -
201        2 201 - 0 -
202        2 202 - 0 -
203        2 203 - 0 -
204        2 204 - 0 -
205        2 205 - 0 -
206        2 206 - 0 -
207        2 207 - 0 -
208        2 208 - 0 -
209        2 209 - 0 -
210        2 210 - 0 -
211        2 211 - 2 -
212        2 212 - 4 -
213        2 213 - 6 -
214        2 214 - 8 -
215        3 215 - 10 - 0 -
216        3 216 - 12 - 2 -
217        3 217 - 14 - 4 -
218        3 218 - 16 - 6 -
219        3 219 - 18 - 8 -
220        2 220 - 0 -
221        2 221 - 4 -
222        2 222 - 8 -
223        3 223 - 12 - 2 -
224        3 224 - 16 - 6 -
225        3 225 - 20 - 0 -
226        3 226 - 24 - 8 -
227        4 227 - 28 - 16 - 6 -
228        3 228 - 32 - 6 -
229        4 229 - 36 - 18 - 8 -
230        2 230 - 0 -
231        2 231 - 6 -
232        3 232 - 12 - 2 -
233        3 233 - 18 - 8 -
234        3 234 - 24 - 8 -
235        3 235 - 30 - 0 -
236        4 236 - 36 - 18 - 8 -
237        3 237 - 42 - 8 -
238        4 238 - 48 - 32 - 6 -
239        4 239 - 54 - 20 - 0 -
240        2 240 - 0 -
241        2 241 - 8 -
242        3 242 - 16 - 6 -
243        3 243 - 24 - 8 -
244        3 244 - 32 - 6 -
245        3 245 - 40 - 0 -
246        4 246 - 48 - 32 - 6 -
247        4 247 - 56 - 30 - 0 -
248        4 248 - 64 - 24 - 8 -
249        4 249 - 72 - 14 - 4 -
250        2 250 - 0 -
251        3 251 - 10 - 0 -
252        3 252 - 20 - 0 -
253        3 253 - 30 - 0 -
254        3 254 - 40 - 0 -
255        3 255 - 50 - 0 -
256        3 256 - 60 - 0 -
257        3 257 - 70 - 0 -
258        3 258 - 80 - 0 -
259        3 259 - 90 - 0 -
260        2 260 - 0 -
261        3 261 - 12 - 2 -
262        3 262 - 24 - 8 -
263        4 263 - 36 - 18 - 8 -
264        4 264 - 48 - 32 - 6 -
265        3 265 - 60 - 0 -
266        4 266 - 72 - 14 - 4 -
267        4 267 - 84 - 32 - 6 -
268        5 268 - 96 - 54 - 20 - 0 -
269        3 269 - 108 - 0 -
270        2 270 - 0 -
271        3 271 - 14 - 4 -
272        4 272 - 28 - 16 - 6 -
273        3 273 - 42 - 8 -
274        4 274 - 56 - 30 - 0 -
275        3 275 - 70 - 0 -
276        4 276 - 84 - 32 - 6 -
277        5 277 - 98 - 72 - 14 - 4 -
278        3 278 - 112 - 2 -
279        4 279 - 126 - 12 - 2 -
280        2 280 - 0 -
281        3 281 - 16 - 6 -
282        3 282 - 32 - 6 -
283        4 283 - 48 - 32 - 6 -
284        4 284 - 64 - 24 - 8 -
285        3 285 - 80 - 0 -
286        5 286 - 96 - 54 - 20 - 0 -
287        3 287 - 112 - 2 -
288        4 288 - 128 - 16 - 6 -
289        4 289 - 144 - 16 - 6 -
290        2 290 - 0 -
291        3 291 - 18 - 8 -
292        4 292 - 36 - 18 - 8 -
293        4 293 - 54 - 20 - 0 -
294        4 294 - 72 - 14 - 4 -
295        3 295 - 90 - 0 -
296        3 296 - 108 - 0 -
297        4 297 - 126 - 12 - 2 -
298        4 298 - 144 - 16 - 6 -
299        4 299 - 162 - 12 - 2 -
300        2 300 - 0 -
301        2 301 - 0 -
302        2 302 - 0 -
303        2 303 - 0 -
304        2 304 - 0 -
305        2 305 - 0 -
306        2 306 - 0 -
307        2 307 - 0 -
308        2 308 - 0 -
309        2 309 - 0 -
310        2 310 - 0 -
311        2 311 - 3 -
312        2 312 - 6 -
313        2 313 - 9 -
314        3 314 - 12 - 2 -
315        3 315 - 15 - 5 -
316        3 316 - 18 - 8 -
317        3 317 - 21 - 2 -
318        3 318 - 24 - 8 -
319        4 319 - 27 - 14 - 4 -
320        2 320 - 0 -
321        2 321 - 6 -
322        3 322 - 12 - 2 -
323        3 323 - 18 - 8 -
324        3 324 - 24 - 8 -
325        3 325 - 30 - 0 -
326        4 326 - 36 - 18 - 8 -
327        3 327 - 42 - 8 -
328        4 328 - 48 - 32 - 6 -
329        4 329 - 54 - 20 - 0 -
330        2 330 - 0 -
331        2 331 - 9 -
332        3 332 - 18 - 8 -
333        4 333 - 27 - 14 - 4 -
334        4 334 - 36 - 18 - 8 -
335        4 335 - 45 - 20 - 0 -
336        4 336 - 54 - 20 - 0 -
337        4 337 - 63 - 18 - 8 -
338        4 338 - 72 - 14 - 4 -
339        3 339 - 81 - 8 -
340        2 340 - 0 -
341        3 341 - 12 - 2 -
342        3 342 - 24 - 8 -
343        4 343 - 36 - 18 - 8 -
344        4 344 - 48 - 32 - 6 -
345        3 345 - 60 - 0 -
346        4 346 - 72 - 14 - 4 -
347        4 347 - 84 - 32 - 6 -
348        5 348 - 96 - 54 - 20 - 0 -
349        3 349 - 108 - 0 -
350        2 350 - 0 -
351        3 351 - 15 - 5 -
352        3 352 - 30 - 0 -
353        4 353 - 45 - 20 - 0 -
354        3 354 - 60 - 0 -
355        5 355 - 75 - 35 - 15 - 5 -
356        3 356 - 90 - 0 -
357        3 357 - 105 - 0 -
358        3 358 - 120 - 0 -
359        4 359 - 135 - 15 - 5 -
360        2 360 - 0 -
361        3 361 - 18 - 8 -
362        4 362 - 36 - 18 - 8 -
363        4 363 - 54 - 20 - 0 -
364        4 364 - 72 - 14 - 4 -
365        3 365 - 90 - 0 -
366        3 366 - 108 - 0 -
367        4 367 - 126 - 12 - 2 -
368        4 368 - 144 - 16 - 6 -
369        4 369 - 162 - 12 - 2 -
370        2 370 - 0 -
371        3 371 - 21 - 2 -
372        3 372 - 42 - 8 -
373        4 373 - 63 - 18 - 8 -
374        4 374 - 84 - 32 - 6 -
375        3 375 - 105 - 0 -
376        4 376 - 126 - 12 - 2 -
377        5 377 - 147 - 28 - 16 - 6 -
378        5 378 - 168 - 48 - 32 - 6 -
379        5 379 - 189 - 72 - 14 - 4 -
380        2 380 - 0 -
381        3 381 - 24 - 8 -
382        4 382 - 48 - 32 - 6 -
383        4 383 - 72 - 14 - 4 -
384        5 384 - 96 - 54 - 20 - 0 -
385        3 385 - 120 - 0 -
386        4 386 - 144 - 16 - 6 -
387        5 387 - 168 - 48 - 32 - 6 -
388        4 388 - 192 - 18 - 8 -
389        4 389 - 216 - 12 - 2 -
390        2 390 - 0 -
391        4 391 - 27 - 14 - 4 -
392        4 392 - 54 - 20 - 0 -
393        3 393 - 81 - 8 -
394        3 394 - 108 - 0 -
395        4 395 - 135 - 15 - 5 -
396        4 396 - 162 - 12 - 2 -
397        5 397 - 189 - 72 - 14 - 4 -
398        4 398 - 216 - 12 - 2 -
399        4 399 - 243 - 24 - 8 -
400        2 400 - 0 -
401        2 401 - 0 -
402        2 402 - 0 -
403        2 403 - 0 -
404        2 404 - 0 -
405        2 405 - 0 -
406        2 406 - 0 -
407        2 407 - 0 -
408        2 408 - 0 -
409        2 409 - 0 -
410        2 410 - 0 -
411        2 411 - 4 -
412        2 412 - 8 -
413        3 413 - 12 - 2 -
414        3 414 - 16 - 6 -
415        3 415 - 20 - 0 -
416        3 416 - 24 - 8 -
417        4 417 - 28 - 16 - 6 -
418        3 418 - 32 - 6 -
419        4 419 - 36 - 18 - 8 -
420        2 420 - 0 -
421        2 421 - 8 -
422        3 422 - 16 - 6 -
423        3 423 - 24 - 8 -
424        3 424 - 32 - 6 -
425        3 425 - 40 - 0 -
426        4 426 - 48 - 32 - 6 -
427        4 427 - 56 - 30 - 0 -
428        4 428 - 64 - 24 - 8 -
429        4 429 - 72 - 14 - 4 -
430        2 430 - 0 -
431        3 431 - 12 - 2 -
432        3 432 - 24 - 8 -
433        4 433 - 36 - 18 - 8 -
434        4 434 - 48 - 32 - 6 -
435        3 435 - 60 - 0 -
436        4 436 - 72 - 14 - 4 -
437        4 437 - 84 - 32 - 6 -
438        5 438 - 96 - 54 - 20 - 0 -
439        3 439 - 108 - 0 -
440        2 440 - 0 -
441        3 441 - 16 - 6 -
442        3 442 - 32 - 6 -
443        4 443 - 48 - 32 - 6 -
444        4 444 - 64 - 24 - 8 -
445        3 445 - 80 - 0 -
446        5 446 - 96 - 54 - 20 - 0 -
447        3 447 - 112 - 2 -
448        4 448 - 128 - 16 - 6 -
449        4 449 - 144 - 16 - 6 -
450        2 450 - 0 -
451        3 451 - 20 - 0 -
452        3 452 - 40 - 0 -
453        3 453 - 60 - 0 -
454        3 454 - 80 - 0 -
455        3 455 - 100 - 0 -
456        3 456 - 120 - 0 -
457        3 457 - 140 - 0 -
458        3 458 - 160 - 0 -
459        3 459 - 180 - 0 -
460        2 460 - 0 -
461        3 461 - 24 - 8 -
462        4 462 - 48 - 32 - 6 -
463        4 463 - 72 - 14 - 4 -
464        5 464 - 96 - 54 - 20 - 0 -
465        3 465 - 120 - 0 -
466        4 466 - 144 - 16 - 6 -
467        5 467 - 168 - 48 - 32 - 6 -
468        4 468 - 192 - 18 - 8 -
469        4 469 - 216 - 12 - 2 -
470        2 470 - 0 -
471        4 471 - 28 - 16 - 6 -
472        4 472 - 56 - 30 - 0 -
473        4 473 - 84 - 32 - 6 -
474        3 474 - 112 - 2 -
475        3 475 - 140 - 0 -
476        5 476 - 168 - 48 - 32 - 6 -
477        5 477 - 196 - 54 - 20 - 0 -
478        4 478 - 224 - 16 - 6 -
479        4 479 - 252 - 20 - 0 -
480        2 480 - 0 -
481        3 481 - 32 - 6 -
482        4 482 - 64 - 24 - 8 -
483        5 483 - 96 - 54 - 20 - 0 -
484        4 484 - 128 - 16 - 6 -
485        3 485 - 160 - 0 -
486        4 486 - 192 - 18 - 8 -
487        4 487 - 224 - 16 - 6 -
488        4 488 - 256 - 60 - 0 -
489        5 489 - 288 - 128 - 16 - 6 -
490        2 490 - 0 -
491        4 491 - 36 - 18 - 8 -
492        4 492 - 72 - 14 - 4 -
493        3 493 - 108 - 0 -
494        4 494 - 144 - 16 - 6 -
495        3 495 - 180 - 0 -
496        4 496 - 216 - 12 - 2 -
497        4 497 - 252 - 20 - 0 -
498        5 498 - 288 - 128 - 16 - 6 -
499        4 499 - 324 - 24 - 8 -
500        2 500 - 0 -
501        2 501 - 0 -
502        2 502 - 0 -
503        2 503 - 0 -
504        2 504 - 0 -
505        2 505 - 0 -
506        2 506 - 0 -
507        2 507 - 0 -
508        2 508 - 0 -
509        2 509 - 0 -
510        2 510 - 0 -
511        2 511 - 5 -
512        3 512 - 10 - 0 -
513        3 513 - 15 - 5 -
514        3 514 - 20 - 0 -
515        4 515 - 25 - 10 - 0 -
516        3 516 - 30 - 0 -
517        4 517 - 35 - 15 - 5 -
518        3 518 - 40 - 0 -
519        4 519 - 45 - 20 - 0 -
520        2 520 - 0 -
521        3 521 - 10 - 0 -
522        3 522 - 20 - 0 -
523        3 523 - 30 - 0 -
524        3 524 - 40 - 0 -
525        3 525 - 50 - 0 -
526        3 526 - 60 - 0 -
527        3 527 - 70 - 0 -
528        3 528 - 80 - 0 -
529        3 529 - 90 - 0 -
530        2 530 - 0 -
531        3 531 - 15 - 5 -
532        3 532 - 30 - 0 -
533        4 533 - 45 - 20 - 0 -
534        3 534 - 60 - 0 -
535        5 535 - 75 - 35 - 15 - 5 -
536        3 536 - 90 - 0 -
537        3 537 - 105 - 0 -
538        3 538 - 120 - 0 -
539        4 539 - 135 - 15 - 5 -
540        2 540 - 0 -
541        3 541 - 20 - 0 -
542        3 542 - 40 - 0 -
543        3 543 - 60 - 0 -
544        3 544 - 80 - 0 -
545        3 545 - 100 - 0 -
546        3 546 - 120 - 0 -
547        3 547 - 140 - 0 -
548        3 548 - 160 - 0 -
549        3 549 - 180 - 0 -
550        2 550 - 0 -
551        4 551 - 25 - 10 - 0 -
552        3 552 - 50 - 0 -
553        5 553 - 75 - 35 - 15 - 5 -
554        3 554 - 100 - 0 -
555        4 555 - 125 - 10 - 0 -
556        3 556 - 150 - 0 -
557        5 557 - 175 - 35 - 15 - 5 -
558        3 558 - 200 - 0 -
559        4 559 - 225 - 20 - 0 -
560        2 560 - 0 -
561        3 561 - 30 - 0 -
562        3 562 - 60 - 0 -
563        3 563 - 90 - 0 -
564        3 564 - 120 - 0 -
565        3 565 - 150 - 0 -
566        3 566 - 180 - 0 -
567        3 567 - 210 - 0 -
568        3 568 - 240 - 0 -
569        3 569 - 270 - 0 -
570        2 570 - 0 -
571        4 571 - 35 - 15 - 5 -
572        3 572 - 70 - 0 -
573        3 573 - 105 - 0 -
574        3 574 - 140 - 0 -
575        5 575 - 175 - 35 - 15 - 5 -
576        3 576 - 210 - 0 -
577        4 577 - 245 - 40 - 0 -
578        3 578 - 280 - 0 -
579        4 579 - 315 - 15 - 5 -
580        2 580 - 0 -
581        3 581 - 40 - 0 -
582        3 582 - 80 - 0 -
583        3 583 - 120 - 0 -
584        3 584 - 160 - 0 -
585        3 585 - 200 - 0 -
586        3 586 - 240 - 0 -
587        3 587 - 280 - 0 -
588        3 588 - 320 - 0 -
589        3 589 - 360 - 0 -
590        2 590 - 0 -
591        4 591 - 45 - 20 - 0 -
592        3 592 - 90 - 0 -
593        4 593 - 135 - 15 - 5 -
594        3 594 - 180 - 0 -
595        4 595 - 225 - 20 - 0 -
596        3 596 - 270 - 0 -
597        4 597 - 315 - 15 - 5 -
598        3 598 - 360 - 0 -
599        3 599 - 405 - 0 -
600        2 600 - 0 -
601        2 601 - 0 -
602        2 602 - 0 -
603        2 603 - 0 -
604        2 604 - 0 -
605        2 605 - 0 -
606        2 606 - 0 -
607        2 607 - 0 -
608        2 608 - 0 -
609        2 609 - 0 -
610        2 610 - 0 -
611        2 611 - 6 -
612        3 612 - 12 - 2 -
613        3 613 - 18 - 8 -
614        3 614 - 24 - 8 -
615        3 615 - 30 - 0 -
616        4 616 - 36 - 18 - 8 -
617        3 617 - 42 - 8 -
618        4 618 - 48 - 32 - 6 -
619        4 619 - 54 - 20 - 0 -
620        2 620 - 0 -
621        3 621 - 12 - 2 -
622        3 622 - 24 - 8 -
623        4 623 - 36 - 18 - 8 -
624        4 624 - 48 - 32 - 6 -
625        3 625 - 60 - 0 -
626        4 626 - 72 - 14 - 4 -
627        4 627 - 84 - 32 - 6 -
628        5 628 - 96 - 54 - 20 - 0 -
629        3 629 - 108 - 0 -
630        2 630 - 0 -
631        3 631 - 18 - 8 -
632        4 632 - 36 - 18 - 8 -
633        4 633 - 54 - 20 - 0 -
634        4 634 - 72 - 14 - 4 -
635        3 635 - 90 - 0 -
636        3 636 - 108 - 0 -
637        4 637 - 126 - 12 - 2 -
638        4 638 - 144 - 16 - 6 -
639        4 639 - 162 - 12 - 2 -
640        2 640 - 0 -
641        3 641 - 24 - 8 -
642        4 642 - 48 - 32 - 6 -
643        4 643 - 72 - 14 - 4 -
644        5 644 - 96 - 54 - 20 - 0 -
645        3 645 - 120 - 0 -
646        4 646 - 144 - 16 - 6 -
647        5 647 - 168 - 48 - 32 - 6 -
648        4 648 - 192 - 18 - 8 -
649        4 649 - 216 - 12 - 2 -
650        2 650 - 0 -
651        3 651 - 30 - 0 -
652        3 652 - 60 - 0 -
653        3 653 - 90 - 0 -
654        3 654 - 120 - 0 -
655        3 655 - 150 - 0 -
656        3 656 - 180 - 0 -
657        3 657 - 210 - 0 -
658        3 658 - 240 - 0 -
659        3 659 - 270 - 0 -
660        2 660 - 0 -
661        4 661 - 36 - 18 - 8 -
662        4 662 - 72 - 14 - 4 -
663        3 663 - 108 - 0 -
664        4 664 - 144 - 16 - 6 -
665        3 665 - 180 - 0 -
666        4 666 - 216 - 12 - 2 -
667        4 667 - 252 - 20 - 0 -
668        5 668 - 288 - 128 - 16 - 6 -
669        4 669 - 324 - 24 - 8 -
670        2 670 - 0 -
671        3 671 - 42 - 8 -
672        4 672 - 84 - 32 - 6 -
673        4 673 - 126 - 12 - 2 -
674        5 674 - 168 - 48 - 32 - 6 -
675        3 675 - 210 - 0 -
676        4 676 - 252 - 20 - 0 -
677        5 677 - 294 - 72 - 14 - 4 -
678        5 678 - 336 - 54 - 20 - 0 -
679        6 679 - 378 - 168 - 48 - 32 - 6 -
680        2 680 - 0 -
681        4 681 - 48 - 32 - 6 -
682        5 682 - 96 - 54 - 20 - 0 -
683        4 683 - 144 - 16 - 6 -
684        4 684 - 192 - 18 - 8 -
685        3 685 - 240 - 0 -
686        5 686 - 288 - 128 - 16 - 6 -
687        5 687 - 336 - 54 - 20 - 0 -
688        6 688 - 384 - 96 - 54 - 20 - 0 -
689        4 689 - 432 - 24 - 8 -
690        2 690 - 0 -
691        4 691 - 54 - 20 - 0 -
692        3 692 - 108 - 0 -
693        4 693 - 162 - 12 - 2 -
694        4 694 - 216 - 12 - 2 -
695        3 695 - 270 - 0 -
696        4 696 - 324 - 24 - 8 -
697        6 697 - 378 - 168 - 48 - 32 - 6 -
698        4 698 - 432 - 24 - 8 -
699        5 699 - 486 - 192 - 18 - 8 -
700        2 700 - 0 -
701        2 701 - 0 -
702        2 702 - 0 -
703        2 703 - 0 -
704        2 704 - 0 -
705        2 705 - 0 -
706        2 706 - 0 -
707        2 707 - 0 -
708        2 708 - 0 -
709        2 709 - 0 -
710        2 710 - 0 -
711        2 711 - 7 -
712        3 712 - 14 - 4 -
713        3 713 - 21 - 2 -
714        4 714 - 28 - 16 - 6 -
715        4 715 - 35 - 15 - 5 -
716        3 716 - 42 - 8 -
717        5 717 - 49 - 36 - 18 - 8 -
718        4 718 - 56 - 30 - 0 -
719        4 719 - 63 - 18 - 8 -
720        2 720 - 0 -
721        3 721 - 14 - 4 -
722        4 722 - 28 - 16 - 6 -
723        3 723 - 42 - 8 -
724        4 724 - 56 - 30 - 0 -
725        3 725 - 70 - 0 -
726        4 726 - 84 - 32 - 6 -
727        5 727 - 98 - 72 - 14 - 4 -
728        3 728 - 112 - 2 -
729        4 729 - 126 - 12 - 2 -
730        2 730 - 0 -
731        3 731 - 21 - 2 -
732        3 732 - 42 - 8 -
733        4 733 - 63 - 18 - 8 -
734        4 734 - 84 - 32 - 6 -
735        3 735 - 105 - 0 -
736        4 736 - 126 - 12 - 2 -
737        5 737 - 147 - 28 - 16 - 6 -
738        5 738 - 168 - 48 - 32 - 6 -
739        5 739 - 189 - 72 - 14 - 4 -
740        2 740 - 0 -
741        4 741 - 28 - 16 - 6 -
742        4 742 - 56 - 30 - 0 -
743        4 743 - 84 - 32 - 6 -
744        3 744 - 112 - 2 -
745        3 745 - 140 - 0 -
746        5 746 - 168 - 48 - 32 - 6 -
747        5 747 - 196 - 54 - 20 - 0 -
748        4 748 - 224 - 16 - 6 -
749        4 749 - 252 - 20 - 0 -
750        2 750 - 0 -
751        4 751 - 35 - 15 - 5 -
752        3 752 - 70 - 0 -
753        3 753 - 105 - 0 -
754        3 754 - 140 - 0 -
755        5 755 - 175 - 35 - 15 - 5 -
756        3 756 - 210 - 0 -
757        4 757 - 245 - 40 - 0 -
758        3 758 - 280 - 0 -
759        4 759 - 315 - 15 - 5 -
760        2 760 - 0 -
761        3 761 - 42 - 8 -
762        4 762 - 84 - 32 - 6 -
763        4 763 - 126 - 12 - 2 -
764        5 764 - 168 - 48 - 32 - 6 -
765        3 765 - 210 - 0 -
766        4 766 - 252 - 20 - 0 -
767        5 767 - 294 - 72 - 14 - 4 -
768        5 768 - 336 - 54 - 20 - 0 -
769        6 769 - 378 - 168 - 48 - 32 - 6 -
770        2 770 - 0 -
771        5 771 - 49 - 36 - 18 - 8 -
772        5 772 - 98 - 72 - 14 - 4 -
773        5 773 - 147 - 28 - 16 - 6 -
774        5 774 - 196 - 54 - 20 - 0 -
775        4 775 - 245 - 40 - 0 -
776        5 776 - 294 - 72 - 14 - 4 -
777        5 777 - 343 - 36 - 18 - 8 -
778        5 778 - 392 - 54 - 20 - 0 -
779        4 779 - 441 - 16 - 6 -
780        2 780 - 0 -
781        4 781 - 56 - 30 - 0 -
782        3 782 - 112 - 2 -
783        5 783 - 168 - 48 - 32 - 6 -
784        4 784 - 224 - 16 - 6 -
785        3 785 - 280 - 0 -
786        5 786 - 336 - 54 - 20 - 0 -
787        5 787 - 392 - 54 - 20 - 0 -
788        5 788 - 448 - 128 - 16 - 6 -
789        3 789 - 504 - 0 -
790        2 790 - 0 -
791        4 791 - 63 - 18 - 8 -
792        4 792 - 126 - 12 - 2 -
793        5 793 - 189 - 72 - 14 - 4 -
794        4 794 - 252 - 20 - 0 -
795        4 795 - 315 - 15 - 5 -
796        6 796 - 378 - 168 - 48 - 32 - 6 -
797        4 797 - 441 - 16 - 6 -
798        3 798 - 504 - 0 -
799        4 799 - 567 - 210 - 0 -
800        2 800 - 0 -
801        2 801 - 0 -
802        2 802 - 0 -
803        2 803 - 0 -
804        2 804 - 0 -
805        2 805 - 0 -
806        2 806 - 0 -
807        2 807 - 0 -
808        2 808 - 0 -
809        2 809 - 0 -
810        2 810 - 0 -
811        2 811 - 8 -
812        3 812 - 16 - 6 -
813        3 813 - 24 - 8 -
814        3 814 - 32 - 6 -
815        3 815 - 40 - 0 -
816        4 816 - 48 - 32 - 6 -
817        4 817 - 56 - 30 - 0 -
818        4 818 - 64 - 24 - 8 -
819        4 819 - 72 - 14 - 4 -
820        2 820 - 0 -
821        3 821 - 16 - 6 -
822        3 822 - 32 - 6 -
823        4 823 - 48 - 32 - 6 -
824        4 824 - 64 - 24 - 8 -
825        3 825 - 80 - 0 -
826        5 826 - 96 - 54 - 20 - 0 -
827        3 827 - 112 - 2 -
828        4 828 - 128 - 16 - 6 -
829        4 829 - 144 - 16 - 6 -
830        2 830 - 0 -
831        3 831 - 24 - 8 -
832        4 832 - 48 - 32 - 6 -
833        4 833 - 72 - 14 - 4 -
834        5 834 - 96 - 54 - 20 - 0 -
835        3 835 - 120 - 0 -
836        4 836 - 144 - 16 - 6 -
837        5 837 - 168 - 48 - 32 - 6 -
838        4 838 - 192 - 18 - 8 -
839        4 839 - 216 - 12 - 2 -
840        2 840 - 0 -
841        3 841 - 32 - 6 -
842        4 842 - 64 - 24 - 8 -
843        5 843 - 96 - 54 - 20 - 0 -
844        4 844 - 128 - 16 - 6 -
845        3 845 - 160 - 0 -
846        4 846 - 192 - 18 - 8 -
847        4 847 - 224 - 16 - 6 -
848        4 848 - 256 - 60 - 0 -
849        5 849 - 288 - 128 - 16 - 6 -
850        2 850 - 0 -
851        3 851 - 40 - 0 -
852        3 852 - 80 - 0 -
853        3 853 - 120 - 0 -
854        3 854 - 160 - 0 -
855        3 855 - 200 - 0 -
856        3 856 - 240 - 0 -
857        3 857 - 280 - 0 -
858        3 858 - 320 - 0 -
859        3 859 - 360 - 0 -
860        2 860 - 0 -
861        4 861 - 48 - 32 - 6 -
862        5 862 - 96 - 54 - 20 - 0 -
863        4 863 - 144 - 16 - 6 -
864        4 864 - 192 - 18 - 8 -
865        3 865 - 240 - 0 -
866        5 866 - 288 - 128 - 16 - 6 -
867        5 867 - 336 - 54 - 20 - 0 -
868        6 868 - 384 - 96 - 54 - 20 - 0 -
869        4 869 - 432 - 24 - 8 -
870        2 870 - 0 -
871        4 871 - 56 - 30 - 0 -
872        3 872 - 112 - 2 -
873        5 873 - 168 - 48 - 32 - 6 -
874        4 874 - 224 - 16 - 6 -
875        3 875 - 280 - 0 -
876        5 876 - 336 - 54 - 20 - 0 -
877        5 877 - 392 - 54 - 20 - 0 -
878        5 878 - 448 - 128 - 16 - 6 -
879        3 879 - 504 - 0 -
880        2 880 - 0 -
881        4 881 - 64 - 24 - 8 -
882        4 882 - 128 - 16 - 6 -
883        4 883 - 192 - 18 - 8 -
884        4 884 - 256 - 60 - 0 -
885        3 885 - 320 - 0 -
886        6 886 - 384 - 96 - 54 - 20 - 0 -
887        5 887 - 448 - 128 - 16 - 6 -
888        4 888 - 512 - 10 - 0 -
889        4 889 - 576 - 210 - 0 -
890        2 890 - 0 -
891        4 891 - 72 - 14 - 4 -
892        4 892 - 144 - 16 - 6 -
893        4 893 - 216 - 12 - 2 -
894        5 894 - 288 - 128 - 16 - 6 -
895        3 895 - 360 - 0 -
896        4 896 - 432 - 24 - 8 -
897        3 897 - 504 - 0 -
898        4 898 - 576 - 210 - 0 -
899        5 899 - 648 - 192 - 18 - 8 -
900        2 900 - 0 -
901        2 901 - 0 -
902        2 902 - 0 -
903        2 903 - 0 -
904        2 904 - 0 -
905        2 905 - 0 -
906        2 906 - 0 -
907        2 907 - 0 -
908        2 908 - 0 -
909        2 909 - 0 -
910        2 910 - 0 -
911        2 911 - 9 -
912        3 912 - 18 - 8 -
913        4 913 - 27 - 14 - 4 -
914        4 914 - 36 - 18 - 8 -
915        4 915 - 45 - 20 - 0 -
916        4 916 - 54 - 20 - 0 -
917        4 917 - 63 - 18 - 8 -
918        4 918 - 72 - 14 - 4 -
919        3 919 - 81 - 8 -
920        2 920 - 0 -
921        3 921 - 18 - 8 -
922        4 922 - 36 - 18 - 8 -
923        4 923 - 54 - 20 - 0 -
924        4 924 - 72 - 14 - 4 -
925        3 925 - 90 - 0 -
926        3 926 - 108 - 0 -
927        4 927 - 126 - 12 - 2 -
928        4 928 - 144 - 16 - 6 -
929        4 929 - 162 - 12 - 2 -
930        2 930 - 0 -
931        4 931 - 27 - 14 - 4 -
932        4 932 - 54 - 20 - 0 -
933        3 933 - 81 - 8 -
934        3 934 - 108 - 0 -
935        4 935 - 135 - 15 - 5 -
936        4 936 - 162 - 12 - 2 -
937        5 937 - 189 - 72 - 14 - 4 -
938        4 938 - 216 - 12 - 2 -
939        4 939 - 243 - 24 - 8 -
940        2 940 - 0 -
941        4 941 - 36 - 18 - 8 -
942        4 942 - 72 - 14 - 4 -
943        3 943 - 108 - 0 -
944        4 944 - 144 - 16 - 6 -
945        3 945 - 180 - 0 -
946        4 946 - 216 - 12 - 2 -
947        4 947 - 252 - 20 - 0 -
948        5 948 - 288 - 128 - 16 - 6 -
949        4 949 - 324 - 24 - 8 -
950        2 950 - 0 -
951        4 951 - 45 - 20 - 0 -
952        3 952 - 90 - 0 -
953        4 953 - 135 - 15 - 5 -
954        3 954 - 180 - 0 -
955        4 955 - 225 - 20 - 0 -
956        3 956 - 270 - 0 -
957        4 957 - 315 - 15 - 5 -
958        3 958 - 360 - 0 -
959        3 959 - 405 - 0 -
960        2 960 - 0 -
961        4 961 - 54 - 20 - 0 -
962        3 962 - 108 - 0 -
963        4 963 - 162 - 12 - 2 -
964        4 964 - 216 - 12 - 2 -
965        3 965 - 270 - 0 -
966        4 966 - 324 - 24 - 8 -
967        6 967 - 378 - 168 - 48 - 32 - 6 -
968        4 968 - 432 - 24 - 8 -
969        5 969 - 486 - 192 - 18 - 8 -
970        2 970 - 0 -
971        4 971 - 63 - 18 - 8 -
972        4 972 - 126 - 12 - 2 -
973        5 973 - 189 - 72 - 14 - 4 -
974        4 974 - 252 - 20 - 0 -
975        4 975 - 315 - 15 - 5 -
976        6 976 - 378 - 168 - 48 - 32 - 6 -
977        4 977 - 441 - 16 - 6 -
978        3 978 - 504 - 0 -
979        4 979 - 567 - 210 - 0 -
980        2 980 - 0 -
981        4 981 - 72 - 14 - 4 -
982        4 982 - 144 - 16 - 6 -
983        4 983 - 216 - 12 - 2 -
984        5 984 - 288 - 128 - 16 - 6 -
985        3 985 - 360 - 0 -
986        4 986 - 432 - 24 - 8 -
987        3 987 - 504 - 0 -
988        4 988 - 576 - 210 - 0 -
989        5 989 - 648 - 192 - 18 - 8 -
990        2 990 - 0 -
991        3 991 - 81 - 8 -
992        4 992 - 162 - 12 - 2 -
993        4 993 - 243 - 24 - 8 -
994        4 994 - 324 - 24 - 8 -
995        3 995 - 405 - 0 -
996        5 996 - 486 - 192 - 18 - 8 -
997        4 997 - 567 - 210 - 0 -
998        5 998 - 648 - 192 - 18 - 8 -
999        5 999 - 729 - 126 - 12 - 2 -



i值 递归次数 本次递归路径
--- -------- ------------
679        6 679 - 378 - 168 - 48 - 32 - 6 -
688        6 688 - 384 - 96 - 54 - 20 - 0 -
697        6 697 - 378 - 168 - 48 - 32 - 6 -
769        6 769 - 378 - 168 - 48 - 32 - 6 -
796        6 796 - 378 - 168 - 48 - 32 - 6 -
868        6 868 - 384 - 96 - 54 - 20 - 0 -
886        6 886 - 384 - 96 - 54 - 20 - 0 -
967        6 967 - 378 - 168 - 48 - 32 - 6 -
976        6 976 - 378 - 168 - 48 - 32 - 6 -

论坛徽章:
130
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
发表于 2018-03-25 17:28 |显示全部楼层
本帖最后由 jason680 于 2018-03-26 10:06 编辑

$ awk -f get_mul.awk
77 - 49 - 36 - 18 - 8


$ cat get_mul.awk

func get_path(str, path) {
  path = str
  while(length(str)>1) {
    str = get_mul(str);
    path = path " - " str
  }
  return path
}

func get_mul(str,  item, val, cnt, aStr) {
  item = split(str,aStr,"");
  val = 1;
  for (cnt=1; cnt<=item; cnt+=1)
    val *= aStr[cnt];
  return val;
}
BEGIN{
  for (cnt=0; cnt<=99 ;cnt+=1) {
    path = get_path(cnt);
    item = split(path, aPath, "-");
    if (max == item) {
      path_all = path_all "\n" path
    }
    if (max < item) {
      max = item
      path_all = path
    }
  }
  print path_all
}


论坛徽章:
21
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之深圳
日期:2018-06-15 14:59:3715-16赛季CBA联赛之八一
日期:2018-07-03 16:56:4615-16赛季CBA联赛之八一
日期:2018-07-05 10:34:09黑曼巴
日期:2018-07-06 15:19:5015-16赛季CBA联赛之佛山
日期:2018-08-03 13:19:3315-16赛季CBA联赛之山西
日期:2018-08-07 19:46:2315-16赛季CBA联赛之广夏
日期:2018-08-08 19:31:5015-16赛季CBA联赛之青岛
日期:2018-11-26 15:21:5015-16赛季CBA联赛之青岛
日期:2018-06-08 13:45:2815-16赛季CBA联赛之同曦
日期:2018-06-04 19:42:2015-16赛季CBA联赛之山东
日期:2018-05-30 12:44:59
发表于 2018-03-26 13:48 |显示全部楼层
本帖最后由 wh7211 于 2018-03-26 13:56 编辑

回复 1# bikkuri


<<<awk4.0+
  1. seq 100|awk 'function w(x){a="";b++;l=split(x,t,"");if(l>1){for(i=1;i<=l;i++){a=a?a*t[i]:t[i]};c=c?c" - "a:$0" - "a;w(a)}else{d[b]=d[b]?d[b]"\n"c:c}}{b=c="";w($0)}END{PROCINFO["sorted_in"]="@ind_num_desc";for(i in d){print d[i];exit}}'
复制代码

输出:
77 - 49 - 36 - 18 - 8

论坛徽章:
17
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:20程序设计版块每日发帖之星
日期:2015-12-31 06:20:022015亚冠之塔什干棉农
日期:2015-08-17 19:49:49程序设计版块每日发帖之星
日期:2015-06-04 22:20:00程序设计版块每日发帖之星
日期:2015-06-04 16:12:382015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年迎新春徽章
日期:2015-03-04 09:57:09
发表于 2018-03-27 22:20 |显示全部楼层
谢谢大家的帮助!

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
发表于 2018-03-28 17:18 |显示全部楼层
perl abc.pl
  1. 77 - 49 - 36 - 18 - 8
复制代码


perl abc.pl 100
  1. 77 - 49 - 36 - 18 - 8
复制代码


perl abc.pl 100000
  1. 68889 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  2. 68898 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  3. 68988 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  4. 69888 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  5. 86889 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  6. 86898 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  7. 86988 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  8. 88689 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  9. 88698 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  10. 88869 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  11. 88896 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  12. 88968 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  13. 88986 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  14. 89688 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  15. 89868 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  16. 89886 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  17. 96888 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  18. 98688 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  19. 98868 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  20. 98886 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
复制代码


abc.pl
  1. #!/usr/bin/perl
  2. # version 26, subversion 1 (v5.26.1)
  3. use 5.010;

  4. my $MAX = shift || 100; # default = 100
  5. explore($MAX);

  6. # ____________________SUB____________________

  7. sub explore {
  8.     my $end = shift;
  9.     my ( $long, @the, @solu ) = 0;

  10.     for my $numba ( 0 .. $end ) {
  11.         my $next = 1;
  12.         $next *= $_ for split '', $numba;
  13.         my $path = $the[$numba] = 1 + ( $the[$next] // 0 );
  14.         next if $path < $long;
  15.         ( $long, @solu ) = $path if $path > $long;
  16.         push @solu, $numba;
  17.     }

  18.     say join ' - ', @{ S_( $_, [] ) } for @solu;
  19. }

  20. sub S_ {
  21.     my ( $num, $his ) = @_;
  22.     return [ @$his, $num ] if $num < 10;
  23.     my $next = 1;
  24.     $next *= $_ for split '', $num;
  25.     S_( $next, [ @$his, $num ] );
  26. }

  27. __DATA__
  28. $_
复制代码

论坛徽章:
17
辰龙
日期:2014-05-21 21:01:4115-16赛季CBA联赛之北控
日期:2016-11-28 18:26:3815-16赛季CBA联赛之佛山
日期:2016-11-03 11:18:5815-16赛季CBA联赛之辽宁
日期:2016-07-10 16:09:4115-16赛季CBA联赛之江苏
日期:2016-02-20 23:09:20程序设计版块每日发帖之星
日期:2015-12-31 06:20:022015亚冠之塔什干棉农
日期:2015-08-17 19:49:49程序设计版块每日发帖之星
日期:2015-06-04 22:20:00程序设计版块每日发帖之星
日期:2015-06-04 16:12:382015年亚洲杯之日本
日期:2015-04-30 01:24:342015年亚洲杯之约旦
日期:2015-04-01 00:37:182015年迎新春徽章
日期:2015-03-04 09:57:09
发表于 2018-03-28 19:46 |显示全部楼层
花了差不多一天时间算出1千万以内递归路径最长的数。

recursion10000000.txt (301.84 KB, 下载次数: 4)

论坛徽章:
11
子鼠
日期:2014-10-11 16:46:4815-16赛季CBA联赛之山东
日期:2017-11-10 14:32:142016科比退役纪念章
日期:2017-09-02 15:42:4715-16赛季CBA联赛之佛山
日期:2017-08-28 17:11:5515-16赛季CBA联赛之浙江
日期:2017-08-24 16:55:1715-16赛季CBA联赛之青岛
日期:2017-08-17 19:55:2415-16赛季CBA联赛之天津
日期:2017-06-29 10:34:4315-16赛季CBA联赛之四川
日期:2017-05-16 16:38:55黑曼巴
日期:2016-07-19 15:03:112015亚冠之萨济拖拉机
日期:2015-05-22 11:38:532016科比退役纪念章
日期:2018-03-16 10:24:05
发表于 2018-07-09 10:50 |显示全部楼层
本帖最后由 523066680 于 2018-07-09 11:32 编辑

回复 7# bikkuri

附件结果中有一行重复

  1. 3768876 - 338688 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
  2. 3768876 - 338688 - 27648 - 2688 - 768 - 336 - 54 - 20 - 0
复制代码

----------------------------------------------分割线----------------------------------------------

回复 6# rubyish

rubyish 的代码在我的电脑上一千万内只需要19秒 (不含 printf 打印的时间)
代码有一处非常巧妙的地方,

my $path = $the[$numba] = 1 + ( $the[$next] // 0 );

@the 数组积累了从初始数字到当前数字的“可迭代次数”,反复利用,避免了对每个数字执行递归函数" S_() "。


论坛徽章:
3
15-16赛季CBA联赛之青岛
日期:2018-07-09 14:17:2815-16赛季CBA联赛之八一
日期:2018-08-06 15:30:0515-16赛季CBA联赛之广东
日期:2018-08-09 09:11:21
发表于 2018-07-31 16:29 |显示全部楼层
本帖最后由 christmas1102 于 2018-07-31 17:27 编辑
  1. seq 100 | awk 'func b(x){split(x,a,"");if(a[2]){x=a[1]*a[2];c=c?c"-"x:$0"-"x;b(x)}}{b($0);d=d?d"\n"c:c;e=length(c);max=max>e?max:e;c=""}END{split(d,f,"\n");for(i in f){if(length(f[i])==max){print f[i]}}}'
  2. 执行结果:
  3. 77-49-36-18-8
复制代码

论坛徽章:
53
15-16赛季CBA联赛之同曦
日期:2018-07-19 10:00:38白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:532015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之大阪钢巴
日期:2015-06-25 17:30:042015亚冠之城南
日期:2015-06-25 15:10:58白银圣斗士
日期:2015-11-25 14:32:43黄金圣斗士
日期:2015-12-02 11:44:3515-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56
发表于 2018-08-01 14:40 |显示全部楼层
本帖最后由 reyleon 于 2018-08-01 17:03 编辑

gawk 4.0+, 主要用到了 gawk 4.0+ 版本 asorti 函数排序的特性

[root@hk ~]# cat f.awk

function rec(n) {
    v=1;
    t=split(n,a,"");
    for(i=1;i<=t;i++) v*=a;
    if(v==n)return s;
    s=s?s" - "v:v;
    rec(v);
}

{
    for(k=1;k<=$1;k++){ s="";x=sprintf("%s - %s",k,rec(k));L=split(x,b);c[L]=c[L]?c[L]"\n"x:x }
    # 这里排序选最大长度
    asorti(c,d,"@ind_num_desc");
    print c[d[1]];
}


[root@hk ~]# echo 100 | awk -f f.awk
77 - 49 - 36 - 18 - 8
[root@hk ~]#
[root@hk ~]# echo 1000 | awk -f f.awk
679 - 378 - 168 - 48 - 32 - 6
688 - 384 - 96 - 54 - 20 - 0
697 - 378 - 168 - 48 - 32 - 6
769 - 378 - 168 - 48 - 32 - 6
796 - 378 - 168 - 48 - 32 - 6
868 - 384 - 96 - 54 - 20 - 0
886 - 384 - 96 - 54 - 20 - 0
967 - 378 - 168 - 48 - 32 - 6
976 - 378 - 168 - 48 - 32 - 6
[root@hk ~]# echo 10000 | awk -f f.awk
6788 - 2688 - 768 - 336 - 54 - 20 - 0
6878 - 2688 - 768 - 336 - 54 - 20 - 0
6887 - 2688 - 768 - 336 - 54 - 20 - 0
7688 - 2688 - 768 - 336 - 54 - 20 - 0
7868 - 2688 - 768 - 336 - 54 - 20 - 0
7886 - 2688 - 768 - 336 - 54 - 20 - 0
8678 - 2688 - 768 - 336 - 54 - 20 - 0
8687 - 2688 - 768 - 336 - 54 - 20 - 0
8768 - 2688 - 768 - 336 - 54 - 20 - 0
8786 - 2688 - 768 - 336 - 54 - 20 - 0
8867 - 2688 - 768 - 336 - 54 - 20 - 0
8876 - 2688 - 768 - 336 - 54 - 20 - 0
[root@hk ~]#


------------------------

代码重发下, 上面的代码 因为CU会隐藏掉[i ]:

[root@hk ~]# cat f.awk

function rec(n) {
    v=1;
    t=split(n,a,"");
    for(p=1;p<=t;p++) v*=a[p];
    if(v==n)return s;
    s=s?s" - "v:v;
    rec(v);
}

{
    for(k=1;k<=$1;k++){ s="";x=sprintf("%s - %s",k,rec(k));L=split(x,b);c[L]=c[L]?c[L]"\n"x:x }
    asorti(c,d,"@ind_num_desc");
    print c[d[1]];
}

------------------
再次更新, 以下是经过优化的代码, 一千万的计算大概花了 1分多钟, 比上面最原始的快了 NNNNNNN 倍... 基本上与3楼的代码 相当, 稍慢一丢丢

[root@hk ~]# time echo 10000000 | awk -f f.awk  > /tmp/1qw

real    1m35.637s
user    1m35.521s
sys     0m0.082s


[root@hk ~]# cat f.awk

function rec(n) {
    v=1;
    t=split(n,a,"");
    for(p=1;p<=t;p++) v*=a[p];
    if(v==n)return s;
    s=s?s" - "v:v;
    rec(v);
}

{
    for(k=1;k<=$1;k++){
        s="";x=sprintf("%s - %s",k,rec(k));L=split(x,b);c[L]=c[L]?c[L]"\n"x:x;
        asorti(c,d,"@ind_num_desc");
        var=c[d[1]];
        delete c;
        c[d[1]]=var;

    }
    print var;
}

[root@hk ~]# awk --version
GNU Awk 4.2.1, API: 2.0
Copyright (C) 1989, 1991-2018 Free Software Foundation.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
[root@hk ~]#







您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

数据风云,十年变迁
DTCC 第十届中国数据库技术大会已启航!

2019年5月8日~5月10日,由IT168旗下ITPUB企业社区平台主办的第十届中国数据库技术大会(DTCC2019),将在北京隆重召开。大会将邀请百余位行业专家,就热点技术话题进行分享,是广大数据领域从业人士的又一次年度盛会和交流平台。与SACC2018类似,本届大会将采用“3+2”模式:3天传统技术演讲+2天深度主题培训。大会不仅提供超100场的主题演讲,还会提供连续2天的深度课程培训,深化数据领域的项目落地实践方案。
DTCC2019,一场值得期待的数据技术盛会,殷切地希望您报名参与!

活动入口>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP