Re: find missing numbers in a series
- To: mathgroup at smc.vnet.net
- Subject: [mg119037] Re: find missing numbers in a series
- From: Sseziwa Mukasa <mukasa at gmail.com>
- Date: Fri, 20 May 2011 06:38:06 -0400 (EDT)
On May 19, 2011, at 7:42 AM, shippee wrote: > I have a series of numbers ranging from PE00001 to PE99999. > Sample/Snippet below (descending order): > PE00445 > PE00444 > PE00442 > PE00438 > PE00437 > PE00434 > PE00432 > PE00428 > PE00424 > PE00423 > PE00420 > PE00418 > PE00417 > PE00416 > PE00414 > PE00412 > PE00411 > PE00410 > PE00405 > PE00404 > PE00403 > PE00400 > PE00398 > PE00397 > PE00393 > PE00386 > PE00383 > PE00381 > PE00377 > PE00374 > PE00352 > PE00350 > PE00348 > PE00344 > PE00339 > PE00334 > PE00332 > PE00330 > PE00328 > PE00326 > PE00323 > PE00284 > PE00283 > PE00281 > PE00280 > PE00279 > PE00278 > PE00277 > PE00276 > PE00275 > PE00273 > PE00270 > PE00269 > PE00268 > PE00267 > PE00266 > PE00265 > PE00264 > PE00263 > PE00262 > PE00261 > PE00260 > > What would be the best approach to have mathematica show me what > STRINGS are missing from this series? Do you really want all missing values, or just the ones between PExxxxx and= PEyyyyy where xxxxx and yyyyy are the smallest and largest values in the l= ist? At any rate you can do: Complement["PE"<>IntegerString[#,10,5]&/@Range[99999],lst] for the first case and Block[{l == Sort[lst]}, Complement[ "PE" <> IntegerString[#, 10, 2] & /@ Range[FromDigits[StringDrop[First[l], 2]], FromDigits[StringDrop[Last[l], 2]]], lst]] for the second, where lst is the list of values you are examining. Regards, Ssezi