Advertisement
rplantiko

Find highest number per "number range"

Apr 13th, 2020
1,312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.11 KB | None | 0 0
  1. # Jeweils größte Nummer pro "Nummernkreis" in einer Liste
  2. # Wir spalten die letzten sechs Ziffern der Zahl ab und definieren den Vorderteil als "Nummernkreis"
  3. # Pro "Nummernkreis" geben wir den größten Wert in der Zahlenliste des Inputfiles aus
  4.  
  5. my %nr = ();
  6.  
  7. # "Nummernkreis" := die letzten sechs Ziffern entfernen  
  8. use constant MOD => 1000000;
  9.  
  10. foreach my $line (<DATA>) {
  11.    my ($number,$div) = (int $line, int $line / MOD);
  12.    $nr{$div} = $number unless exists $nr{$div} and $nr{$div} > $number;
  13. }
  14.  
  15. print sort map "$_\n", values( %nr );
  16.  
  17. __DATA__
  18. 99001631
  19. 925005633
  20. 99001637
  21. 920022058
  22. 99001616
  23. 915084382
  24. 915084394
  25. 915084395
  26. 99001621
  27. 920024923
  28. 925005638
  29. 925005637
  30. 99001662
  31. 920027776
  32. 920030232
  33. 99001655
  34. 915084389
  35. 915084386
  36. 915084398
  37. 925005635
  38. 925005641
  39. 915084397
  40. 915084373
  41. 915084384
  42. 920020568
  43. 925005635
  44. 925005630
  45. 915084389
  46. 920029983
  47. 915084380
  48. 99001641
  49. 915084388
  50. 99001595
  51. 925005634
  52. 920028403
  53. 920024094
  54. 920036295
  55. 925005626
  56. 99001669
  57. 920039640
  58. 925005643
  59. 915084383
  60. 920020910
  61. 915084385
  62. 920026400
  63. 915084387
  64. 925005623
  65. 925005620
  66. 920019711
  67. 99001620
  68. 925005624
  69. 920028934
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement