#include <cstdio> #include <cctype> #include <ctime> #include <random> #include <iterator> #include <algorithm> #include <iostream> std::vector<int> generate_random(const int n, const int m, const int k) { if ((n < m) || (m < k)) return std::vector<int>(); std::random_device source; std::mt19937 generator(source()); std::uniform_int_distribution<> distribution(0, n - (m - 1) * k); std::vector<int> result_list; result_list.reserve(m); for (int i = 0; i < m; ++i) { result_list.push_back(distribution(generator)); } std::sort(std::begin(result_list),std::end(result_list)); for (int i = 0; i < m; ++i) { result_list[i] += (i * k); } return result_list; } int main() { std::vector<int> result = generate_random(1000000,1000,100); std::copy(std::begin(result), std::end(result), std::ostream_iterator<int>(std::cout,"\n")); for (int i = 0; i < result.size(); ++i) { for (int j = 0; j < result.size(); ++j) { if ((i != j) && std::abs(result[i] - result[j]) < 100) { std::cout << "error: " << result[i] << "\t" << result[j] << "\n"; } } } return 0; }
Standard input is empty
514 1508 2678 3526 4034 4778 5137 5947 6702 6857 7086 8550 9843 10813 11518 11702 13159 13958 14338 14564 14985 16516 16950 17834 18916 20496 20885 21914 23104 23343 24002 24131 24298 25057 27793 28732 28866 29351 31385 31904 32425 32812 33165 33549 35283 36499 37816 38036 38188 38565 42530 42991 45838 46181 46963 47463 47604 48159 48799 49472 50215 51298 52037 54557 56700 56869 58277 58911 59107 59601 60662 61376 61764 62592 62946 65902 68418 70049 70818 71318 71428 71842 73258 74103 74280 75708 76957 77687 78727 79638 79768 82248 82355 84777 85962 86667 87112 91561 92301 94412 94558 95325 96281 97082 98083 99630 99958 101102 101230 101373 102469 102681 103125 103933 104364 105643 108227 109127 109569 109784 111763 112673 114077 114643 118137 119476 120759 121555 121901 122511 123428 126845 128780 129281 129991 130662 131006 133375 133838 134729 135516 136040 136662 138378 138680 139076 139207 140001 144144 145389 146166 147738 148049 149854 150674 151523 152092 152622 153378 153727 154251 155242 155747 156036 156605 156729 160300 162316 163858 164086 164738 165657 166379 166898 167006 168047 169769 170050 170368 170898 171298 171709 173746 174194 174779 175070 175218 176056 176349 176494 177273 178298 179887 180220 181113 182427 183715 184347 184968 186162 186750 187156 188843 189103 191006 191202 192279 193809 194464 194669 194843 197366 198676 199145 199818 200711 203526 203729 203915 204580 205043 205440 205972 207423 207531 208614 209515 209727 210478 211201 213367 213691 214060 214581 216462 217537 218254 218826 219454 220305 221554 222036 222328 223468 225064 225955 226447 227001 227467 228805 229290 229770 230372 230524 231448 232307 234279 234877 236174 238396 239248 240993 242156 242552 243641 244295 245249 246336 246734 247695 247956 248876 252112 253234 254474 255213 255591 257054 257211 257355 257584 259830 260566 260987 263942 264454 266053 266433 266805 267077 267192 268005 268229 269126 269611 270374 270849 271356 272749 274700 276650 278414 278611 279691 280634 280885 281192 282366 285681 289448 289639 289878 290229 292118 293401 294172 294660 295060 296053 297370 298667 303103 303737 306113 306466 307695 308374 308849 309143 309503 309827 310437 311222 313301 314186 314473 314901 315373 315507 316059 316951 317130 319991 320367 320689 321062 322471 323371 323608 324801 324917 326268 326415 326803 327099 327557 330265 331275 332312 332478 333322 333646 334512 334631 335199 335697 337101 337463 337762 338051 338785 339101 339300 339807 340958 341777 342621 344013 344922 345896 346033 346530 348180 349146 352601 353328 354133 355225 355928 356845 356975 358019 358496 358681 360497 363529 365631 366488 366676 366929 367094 368001 368305 368516 369007 369966 372281 373232 375009 376507 377207 377424 378188 379235 380521 380733 381038 383560 384264 385063 385307 387112 389772 390093 390744 392086 393018 394263 394865 395103 395308 396275 396543 396989 397633 399052 399255 399431 401053 401297 401420 405411 406382 408176 409092 409600 410200 411654 412359 413088 413256 414680 417986 418144 419377 420334 420537 420832 421073 421183 421381 421736 421949 423813 426769 427327 427848 428872 429342 431455 432122 433495 433872 435708 436761 437824 438391 441051 441483 445217 446496 447041 447299 447765 447958 448543 451033 451261 451466 452617 452983 456562 459612 460115 460289 460844 461444 461912 462568 463758 465186 465450 465993 466471 467688 468417 469417 471462 471575 472378 473239 473460 476381 476702 477169 477965 478069 478427 479557 479931 480165 482022 482354 483235 484661 487434 488699 491532 492094 494238 494590 495357 495594 496079 496532 499270 500092 500426 501074 503082 504102 505163 507422 507750 509069 511240 512369 517359 517557 518623 519008 519386 520020 520505 520951 521160 523406 527062 528115 528729 529832 531276 533331 537986 538361 539224 539793 542588 543889 544431 545191 545888 546064 546527 547280 552620 553159 553415 554819 555625 556737 559509 560011 563191 563668 564372 565859 566087 566936 569297 570997 572050 572905 573090 573922 574208 574560 574687 575158 575436 575640 577858 578556 579192 580170 580875 584401 584822 585106 585398 586950 588277 588812 591761 591958 593507 593883 595492 595755 597733 598083 599314 600862 601973 602622 603054 603625 605582 606157 606340 606699 606896 607520 607714 608679 609352 609540 610564 610868 611565 613362 616685 617572 619163 619888 620775 621319 621629 622183 626431 626586 631648 634614 634811 635350 635894 636525 637367 640030 644045 645562 645874 646140 647324 649224 649525 650808 654775 658754 659079 659528 660342 661115 661328 665862 666860 667823 668879 669707 672011 672897 675076 675503 676160 680171 681521 683354 684082 685913 687080 688989 689799 690080 691573 697642 698450 700582 702213 702668 702778 704788 707362 708446 709186 709364 709811 709986 710457 710681 711727 711850 711966 712860 713549 713895 714094 714585 714862 717433 717868 721540 723655 725936 726972 728076 729119 729377 730225 730685 731284 733944 734325 734438 736994 738006 738625 738843 740079 740190 740300 740534 741850 742346 744887 745615 745979 746244 746499 746672 749004 749387 749614 749766 750263 752327 753556 757647 758033 758497 758607 759335 761129 761602 763341 764890 765189 765325 767403 768748 769190 769766 770552 773342 773728 774529 775028 775170 778104 779192 780018 781897 782021 782525 782646 783486 783926 784068 786175 787155 789412 789691 790290 791906 793552 793764 794572 794727 795630 795959 799316 802516 803235 803488 805122 805368 807680 809583 810990 812791 813708 816267 816419 817128 817665 818544 819035 819867 820878 821408 821695 823654 824812 825113 826530 829134 830780 832639 832935 835109 835300 835925 836196 836449 837966 838567 839838 840542 841036 841230 841338 841763 842657 843158 843402 843832 844309 844486 845801 846465 847258 847639 848110 848660 849254 850176 852949 853098 856775 859161 859489 860476 861625 862488 863861 868486 869441 870581 873257 873811 875363 876296 876947 878304 880462 881345 882991 883435 884535 884783 885332 885902 886756 886902 888349 888622 889236 889946 890646 891368 893067 893178 894072 896124 898212 901946 903769 904917 905910 907433 908316 908439 908605 909298 911529 912010 912536 913912 914235 914693 915059 916450 918381 918739 918852 918999 919813 920327 921113 922061 922385 926217 927151 928404 930391 930525 931891 933036 933267 934166 934440 934741 936193 936927 937044 937380 941310 941988 943205 944008 944195 944552 946775 949488 949774 950415 950848 951452 952384 953345 953984 954241 955530 955695 956685 958793 959023 959497 960328 961426 962691 963095 963337 963762 964043 965063 965998 966522 969394 970729 970943 971125 971386 972034 972246 973905 975995 976688 977692 977897 979297 979803 980588 982176 982721 983858 984984 991174 991430 992000 993744 994730 995167 996189 996602 996848 996992 997268 998355 998719 999400