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