• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

[Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Các đề tài, cuộc thi, chủ đề chung của diễn đàn

Điều hành viên: Điều hành

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

[Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi vo_minhdat2007 » T.Bảy 06/11/2010 4:47 pm

Chào các bạn,

Nhằm giúp làm sôi động thêm diễn đàn và góp phần giúp các bạn nâng cao kỹ năng lập trình cho các thành viên Câu lạc bộ VB, đặc biệt là VB.NET, mình quyết định mở một loạt các chủ đề về lập trình để các thành viên có thể thi đấu với nhau.

Mục đích: Giúp thành viên vận dụng kiến thức lập trình của mình để giải quyết những vấn đề thực tế do đề bài đưa ra, từ đó nâng cao kĩ năng.
Đối tượng: Tất cả thành viên diễn đàn, trừ BQT (Admin, SMOD, MOD). Advance Member được quyền tham gia. Tuy nhiên, Admin, SMOD, MOD vẫn có thể gửi đáp án để làm cơ sở nhận xét. Advance Member được tham gia, nhưng nếu có kết quả hòa giữa Advance Member và thành viên thường thì sẽ ưu tiên cho thành viên.
Quy định:
- Các bài giải sẽ được gửi cho MOD vo_minhdat2007 bằng chức năng nhắn tin của diễn đàn hoặc email vo_minhdat2007@yahoo.com.vn . Mục đích là để các bạn tự suy nghĩ ra cách giải tốt nhất đối với mình.
- Sau vài ngày, MOD sẽ đưa các bài giải của các bạn lên và nhận xét, chấm điểm và xếp hạng. Các bạn sẽ tiếp tục thảo luận nếu có giải pháp hay hơn, hoặc đưa ra các nhận xét. Vài ngày sau thì bắt đầu kì mới.
- Chú ý: Trong phần tính điểm có tính cả điểm xử lí tình huống lỗi, kể cả lỗi dữ liệu đầu vào!

Đáp án:
Mỗi đề bài đưa ra sẽ bao gồm yêu cầu, kèm theo 1 form mẫu (ở đây dùng VS2008, các bạn dùng bản cũ hơn thì xem cách downgrade ở box Thắc mắc VB.NET & C#) nếu các bạn không muốn thiết kế lại form. Khi gửi đáp án các bạn có 2 cách:
- Gửi cả project qua email hoặc chức năng nhắn tin (đã ghi ở mục trên).
- Chỉ gửi code bằng chức năng nhắn tin của diễn đàn, code được cho vào thẻ code tương ứng, và phải chạy được khi mình copy vào form mẫu đã post.

Giải thưởng:
Sau vài kì, mình sẽ tổng kết một lần, và có một phần quà nhỏ khuyến khích các bạn tham gia. Ngoài ra, các bạn sẽ được thể hiện và học hỏi kĩ năng thông qua cuộc thi, và BQT sẽ chú ý xem xét đưa các bạn giỏi vào các nhóm như Support, Advanced Member.




KÌ 6: CÁC CẶP SỐ


Tình huống:

3 bạn học sinh cùng chơi một trò chơi thú vị như sau: 1 bạn sẽ viết N số nguyên dương lên 1 tờ giấy và 2 bạn còn lại sẽ cùng lần lượt sắp xếp những con số ấy theo thứ tự bất kì, với điều kiện không có tổng 2 số kề bên nào chia hết cho 3. Bạn hãy làm một phần mềm giúp 2 bạn học sinh kia sắp xếp dãy số nhé!

Yêu cầu:

Chương trình có giao diện như hình (các bạn tải project mẫu về hoặc tự thiết kế lại).

Hình ảnh


Khi nhấn nút Chọn tập tin, chương trình sẽ hiển thị hộp thoại chọn 1 tập tin có phần mở rộng KNLT, nội dung có dạng như sau:



Trong đó:
  • 0 < N < 5000: số lượng số hạng.
  • 0 < ax < 2^31: số hạng thứ x
Dữ liệu vào bảo đảm chính xác, không cần kiểm tra.

Sau khi chọn tập tin xong, liệt kê các số Palindrome và Fibonanci. Nếu số đó nằm trong dãy Fibonanci, hãy cho biết số đó nằm ở vị trí thứ mấy.
  • Số Palidrome: Là số mà nếu viết ngược lại giống hệt như số gốc. VD: 0, 1, 353, ... .
  • Dãy Fibonanci: Là dãy số có phần tử thứ nhất và thứ hai là 1, từ phần tử thứ ba trở đi có giá trị bằng tổng hai phần tử trước đó cộng lại. VD: 1 1 2 3 5 8 13 21 ...

Sau đó, người dùng nhấn nút Tính, trong giới hạn 10s (10 000 ms), hãy đưa kết quả ra ô bên dưới. Nếu có nhiều đáp án chỉ cần đưa ra 1 đáp án.

Chúc các bạn thành công ;)




ĐÁP ÁN


Chúc mừng 3 bạn dự thi đều đã vượt qua thử thách thời gian của chương trình, với những thuật toán rất độc đáo. Tuy nhiên, đáng tiếc là bài của bạn NovaFooc bị bug, nếu không bạn là người đoạt giải với ưu tiên là thành viên thường.

Đáp án mình xin sử dụng của bạn T7alexanderdna (chú thích khá rõ ràng). Cám ơn các bạn đã tham gia.

5 bộ test:

Test 1:



Test 2:



Test 3:



Test 4:

  1. 500
  2. 373 241 102 220 928 365 3 605 932 777 892 733 337 53 653 540 512 294 917 296 557 328 934 559 217 241 645 627 919 305 352 998 825 725 860 38 7 756 767 636 912 67 879 265 418 430 523 377 148 665 417 910 677 487 867 46 307 544 4 688 721 376 687 628 426 894 908 613 193 616 534 757 527 281 384 490 450 670 141 787 718 268 479 255 889 442 321 339 858 815 731 463 752 80 916 537 381 251 840 524 522 911 185 533 131 661 383 396 103 378 596 637 403 217 970 454 897 433 739 984 573 570 756 378 885 71 5 448 366 848 110 199 831 617 266 808 84 947 124 229 59 926 237 480 219 94 60 536 111 463 641 948 512 856 951 952 155 807 649 60 656 936 31 255 268 398 807 786 951 163 370 951 310 511 925 648 334 276 160 791 11 469 338 904 208 162 687 975 666 314 653 277 298 64 573 124 896 982 212 822 288 274 585 948 93 691 639 1 932 304 619 880 647 859 50 188 599 127 48 107 711 832 121 638 510 93 653 246 939 802 753 353 64 338 503 737 885 390 812 517 523 686 44 363 695 774 631 440 15 386 525 769 934 106 111 457 154 948 438 1000 38 394 63 131 552 267 816 310 356 313 304 210 316 531 585 26 788 758 943 737 463 213 232 554 277 984 419 959 228 47 583 937 952 812 480 130 624 914 812 429 958 322 85 703 82 316 453 403 522 86 669 397 5 702 537 826 163 509 854 568 848 858 82 309 730 367 258 505 52 456 402 875 947 515 780 142 128 529 472 961 531 16 438 143 379 187 933 251 276 654 968 116 60 244 581 101 240 776 973 716 58 949 352 67 684 794 450 491 922 395 698 634 37 894 37 833 420 940 931 543 434 8 229 399 488 287 816 703 934 680 903 353 557 757 904 582 665 372 459 585 737 442 329 881 956 334 79 167 208 749 681 301 845 431 282 50 721 953 579 398 978 748 557 243 493 346 78 281 990 455 168 49 481 346 806 993 680 348 444 155 208 650 496 186 999 602 508 126 475 854 862 712 794 62 607 990 886 86 389 610 257 799 177 753 581 632 821 500 626 290 371 373 510 424 190 329 253 371 244 891 839 952 807 137 593 457 256 419 739 817 107 594 960 834 898 410 474 743 606 367


Test 5:

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


Tổng kết kì 6:

1. T7 (10/10)
1. alexanderdna (10/10)
3. NovaFooc (9/10)

TỔNG KẾT ĐỢT
Gồm kì 4 + 5 + 6


1. T7: 10đ trong kì 6
2. alexanderdna: 10đ trong kì 6

3. lungocqua: 8đ trong kì 4
4. htpc: 6đ trong kì 4

Như vậy, kết quả sẽ phụ thuộc vào kì 7 sắp tới, mời các bạn tham gia :)
Tập tin đính kèm
KNLT6.rar
(51.85 KiB) Đã tải 415 lần



Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi vo_minhdat2007 » CN 07/11/2010 3:01 pm

Mình xin nói thêm về đề cho rõ:
- 2 yêu cầu phụ là sau khi nạp dãy số từ tập tin, hãy chỉ ra trong dãy có số nào là Palindrome hay không, có số nào nằm trong dãy Fibonanci hay không (và vị trí thứ mấy nếu có)
- Yêu cầu chính của đề là sau khi nhấn nút Tính (để mình dễ kiểm tra thời gian chạy), liệt kê dãy số dưới thứ tự tùy ý sao cho tổng 2 số kề nhau không chia hết cho 3.

Và đề này thuộc dạng "khó xơi thời gian" như bài toán Hội chợ kì 3, rất mong các bạn lại cùng ra tay :) Hơn nữa, đề lần này thuộc loại khó nên mọi người có thể thoải mái cùng nhau thảo luận với nhau :D

Ghi chú: Test N = 5000 là test đặc biệt, chứ test tổng quát thì mình cũng chịu thua :D

NovaFooc
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 307
Ngày tham gia: T.Ba 11/08/2009 3:27 pm

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi NovaFooc » CN 07/11/2010 3:41 pm

k0 hiểu gì hết :(
input của bài mẫu là như thế nào zạy

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi vo_minhdat2007 » CN 07/11/2010 4:10 pm

Input bài này (trong hình mẫu):

  1. 11
  2. 3 5 12 313 16 18 18 16 2 4 4


Nghĩa là dòng đầu chứa số lượng số hạng (trong VD mẫu là 11). Dòng thứ 2 chưa 11 số hạng đó.

Hình đại diện của người dùng
lungocqua
Guru
Guru
Bài viết: 1225
Ngày tham gia: T.Ba 18/08/2009 11:51 am
Đến từ: Phú Hữu - Nhơn Trạch - Đồng Nai
Been thanked: 5 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi lungocqua » T.Ba 09/11/2010 3:59 pm

Giải thích thêm tí đi bạn ơi! Chứ đọc đi đọc lại vẫn không hiểu gì hết! :(
Ta đã trở lại và quên hết tất cả! :D

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi vo_minhdat2007 » T.Ba 09/11/2010 8:39 pm

Hix, bạn không hiểu đề phần nào?
Nghĩa là mình cho 1 dãy N số nguyên, bây giờ, bạn hãy sắp xếp lại dãy ấy, theo thứ tự nào cũng được, miễn 2 tổng số kề nhau bất kì không chia hết cho 3.

Ghi chú: các số trong dãy có thể trùng nhau.

VD: N = 4 với 4 số: 3 5 7 9:
- Có thể xếp thành thế này: 3 7 9 5.
- Không thể xếp 3 5 7 9 vì 5 + 7 = 15 chia hết cho 3.
Ngoài ra VD này cũng có đáp số khác là 9 7 3 5, ...

NovaFooc
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 307
Ngày tham gia: T.Ba 11/08/2009 3:27 pm

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi NovaFooc » T.Tư 10/11/2010 7:05 am

mấy bác hồi trc hay tham gia KNLT đi đâu hết rồi nhỉ :-?
thông báo là mình phải tới giữa tuần sau mới thi xong nên k0 tham gia đc, chỉ theo dõi thôi :">

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi vo_minhdat2007 » T.Tư 10/11/2010 6:40 pm

Không sao, đề lần này khó nên mình cho thời gian dài luôn, hết kì này tổng kết 1 đợt để phát giải :D

Hình đại diện của người dùng
alexanderdna
Guru
Guru
Bài viết: 214
Ngày tham gia: T.Ba 14/07/2009 11:13 am
Đến từ: Sài Gòn
Has thanked: 3 time
Been thanked: 15 time

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi alexanderdna » T.Năm 11/11/2010 1:56 pm

Được đó! Gia hạn lâu lâu một chút đặng mọi người có thời gian nghiên cứu.

Theo nhận định ban đầu của tôi thì yêu cầu chính có vẻ khá đơn giản. Chỉ cần "bốc, thử, sai thì đổi cái khác". Song có lẽ cái khó nằm ở thời gian 10 giây. Không biết có cách nào thử tính chất chia hết cho 3 thật là mau không nhỉ?

Hình đại diện của người dùng
VuVanHoanh
Thành viên danh dự
Thành viên danh dự
Bài viết: 1259
Ngày tham gia: T.Năm 03/06/2010 9:23 pm
Đến từ: Kim Sơn - Đông Triều - Quảng Ninh
Has thanked: 22 time
Been thanked: 137 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi VuVanHoanh » T.Sáu 12/11/2010 1:00 pm

Mấy lần trước định tham gia gặp đề khó quá, không biết hỏi ai, thế là tịt, may lần này anh Đạt dễ tính cho hỏi.
Các bác, các bác định count time như thế nào?
Since 2008...
One love! :x

Hình đại diện của người dùng
TheDark
Guru
Guru
Bài viết: 188
Ngày tham gia: T.Năm 04/11/2010 3:56 pm
Đến từ: Mang Thít - Vĩnh Long
Has thanked: 6 time
Been thanked: 33 time

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi TheDark » T.Sáu 12/11/2010 5:15 pm

Thì khi bắt đầu thực hiện bạn lấy cái time hiện tại. Thực hiện xong lấy time 1 cái nữa. Trừ nhau ra rồi!
Hoặc là dùng cái timer (làm chậm chương trình). Trong các vòng lập bạn thêm DoEvents vào để cái timer nó tick

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi vo_minhdat2007 » T.Sáu 12/11/2010 5:34 pm

Cái thời gian tính toán khỏi cũng được, mình xét thời gian thủ công, cho lên khoảng 15s là ngắt chương trình.

NovaFooc
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 307
Ngày tham gia: T.Ba 11/08/2009 3:27 pm

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi NovaFooc » T.Bảy 13/11/2010 4:11 pm

trong .NET có Stopwatch dùng để đo thời gian chạy code đó :)

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi vo_minhdat2007 » T.Bảy 13/11/2010 5:58 pm

Hì, cuối cùng cũng giải được test 5000 số Random rồi, chỉ khoảng 250ms thôi :D Chỉ tiếc là thử test 8000 và 10000 số thì lại bị StackOverflow nên không thử được sức chịu đựng thời gian của chương trình với số lớn :D

Nhân tiện tặng các bạn đoạn code để kiểm tra xem kết quả đúng không luôn (copy kết quả ra Notepad rồi save thành file) :P

  1.     Private Sub butTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butTest.Click
  2.         Dim diagOpen As New OpenFileDialog
  3.         With diagOpen
  4.             .Title = "Chọn tập tin cần mở..."
  5.             .Filter = "*.txt|*.txt"
  6.             If .ShowDialog = Windows.Forms.DialogResult.Cancel Then Exit Sub
  7.             Dim i As Integer = InputBox("Nhập số lượng số (nếu muốn):", , "0")
  8.             If Check(IO.File.ReadAllText(.FileName), i) Then
  9.                 MsgBox("OK!!!", MsgBoxStyle.Information)
  10.             Else
  11.                 MsgBox("Failed <!-- s:( --><img src="{SMILIES_PATH}/002.gif" alt=":(" title="Buồn" /><!-- s:( -->", MsgBoxStyle.Critical)
  12.             End If
  13.         End With
  14.     End Sub
  15.  
  16.     Private Function Check(ByVal Text As String, Optional ByVal N As Integer = 0) As Boolean
  17.         Dim Temp As String() = Text.Split(" ")
  18.         Dim Arr(Temp.Length - 1) As Integer
  19.         If N > 0 AndAlso Temp.Length <> N Then Return False
  20.         Arr(0) = Val(Temp(1))
  21.         For i As Integer = 1 To Temp.Length - 1
  22.             Arr(i) = Val(Temp(i))
  23.             If (Arr(i) + Arr(i - 1)) Mod 3 = 0 Then Return False
  24.         Next
  25.         Return True
  26.     End Function

Hình đại diện của người dùng
nimgiaminh
Thành viên danh dự
Thành viên danh dự
Bài viết: 432
Ngày tham gia: T.Bảy 07/08/2010 9:24 am
Đến từ: Ở dưới đó đó
Has thanked: 6 time
Been thanked: 18 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi nimgiaminh » T.Ba 16/11/2010 9:54 pm

Các bác và các anh cho em hỏi tý nha, làm sao để xét được tổng hai số ở gần nhau chia hết cho 3??? Em xl trước nếu có gì đáng trách.

Hình đại diện của người dùng
TheDark
Guru
Guru
Bài viết: 188
Ngày tham gia: T.Năm 04/11/2010 3:56 pm
Đến từ: Mang Thít - Vĩnh Long
Has thanked: 6 time
Been thanked: 33 time

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi TheDark » T.Ba 16/11/2010 10:06 pm

  1.  Private Function Check(ByVal Text As String, Optional ByVal N As Integer = 0) As Boolean
  2.         Dim Temp As String() = Text.Split(" ")
  3.         Dim Arr(Temp.Length - 1) As Integer
  4.         If N > 0 AndAlso Temp.Length <> N Then Return False
  5.         Arr(0) = Val(Temp(1))
  6.         For i As Integer = 1 To Temp.Length - 1
  7.             Arr(i) = Val(Temp(i))
  8.             If (Arr(i) + Arr(i - 1)) Mod 3 = 0 Then Return False
  9.         Next
  10.         Return True
  11.     End Function

Hình đại diện của người dùng
nimgiaminh
Thành viên danh dự
Thành viên danh dự
Bài viết: 432
Ngày tham gia: T.Bảy 07/08/2010 9:24 am
Đến từ: Ở dưới đó đó
Has thanked: 6 time
Been thanked: 18 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi nimgiaminh » T.Ba 16/11/2010 10:11 pm

Anh giải thích dùm em tý được không anh??? Em chỉ hiểu được vài chỗ ah. :(( :((

Hình đại diện của người dùng
alexanderdna
Guru
Guru
Bài viết: 214
Ngày tham gia: T.Ba 14/07/2009 11:13 am
Đến từ: Sài Gòn
Has thanked: 3 time
Been thanked: 15 time

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi alexanderdna » T.Tư 17/11/2010 8:52 am

Không biết bạn nimgiaminh không hiểu chỗ nào. Thôi thì giải nghĩa hết luôn một lượt!

Trước hết, phép toán Mod, tức modulus, là phép lấy phần dư của phép chia.
Thí dụ: 10 Mod 3 = 1, vì 10 chia 3 dư 1.
Nếu a chia b mà không dư, tức là dư 0, thì nghĩa là a chia hết cho b.
Theo đó, nếu n Mod 3 = 0 thì ta nói n chia hết cho 3.

Hàm Check của TheDark mần các chuyện như sau, xin ghi lại với các chú thích:
  1.  Private Function Check(ByVal Text As String, Optional ByVal N As Integer = 0) As Boolean
  2.         ' Tách chuỗi Text ra bằng dấu phân cách " " (khoảng trắng)
  3.         ' rồi đưa vô mảng Temp
  4.         Dim Temp As String() = Text.Split(" ")
  5.  
  6.         ' Tạo một mảng số nguyên có kích thước bằng mảng Temp
  7.         ' tức là có chỉ số cao nhất (UBound) = Temp.Length - 1
  8.         ' như sau đây:
  9.         Dim Arr(Temp.Length - 1) As Integer
  10.  
  11.         ' Nếu tham số N > 0 và lại khác với kích thước của Temp
  12.         ' thì coi như có vấn đề, cho về False
  13.         If N > 0 AndAlso Temp.Length <> N Then Return False
  14.  
  15.         ' Lấy giá trị số đầu tiên trong mảng Temp
  16.         ' bằng hàm Val, rồi gán vô phần tử đầu tiên
  17.         ' của mảng Arr
  18.         Arr(0) = Val(Temp(0))
  19.  
  20.         ' Đi từ phần tử thứ nhì cho tới chót
  21.         For i As Integer = 1 To Temp.Length - 1
  22.             ' Lấy giá trị
  23.             Arr(i) = Val(Temp(i))
  24.  
  25.             ' Kiểm tra số này và số trước (Arr(i-1))
  26.             ' coi tổng của chúng có chia hết cho 3 không.
  27.             ' Không thì cho về False.
  28.             If (Arr(i) + Arr(i - 1)) Mod 3 = 0 Then Return False
  29.         Next
  30.  
  31.         ' Đã vượt vũ môn khỏi vòng For.
  32.         ' Vậy coi như là ổn rồi, đạt yêu cầu. Cho về True.
  33.         Return True
  34.     End Function
  35. Parsed in 0.020 seconds, using GeSHi 1.0.8.4


Cần nói riêng với TheDark là:
- Arr(0) = Val(Temp(0)), chứ không phải Temp(1). Chắc chỉ do gõ lộn nút thôi, tôi đã sửa lại ở mã ghi trong bài này.
- Tôi không hiểu sao lại nhận tham số Text As String làm gì, và cả N nữa. Đúng ra khi nhập tập tin thì chuyển ra mảng số nguyên luôn cho nó khỏe. Rồi vụ kiểm tra thì lại thuộc một quy trình khác.

Tôi cho rằng ta nên kiểm tra lần lần để nhận ra ngay vấn đề mà tìm cách ứng phó, chứ không đợi xếp hết nguyên mảng rồi kiểm tra.

Cách chuyển đổi mảng chuỗi sang mảng số nguyên có thể như sau:
  1. ' Giả dụ có các mảng sau:
  2. Dim aStr() As String = New String() {"1", "2", "3"}
  3. Dim aInt(aStr.Length - 1) As Integer
  4.  
  5. ' Đây là cách chuyển đổi
  6. ' sử dụng biểu thức Lambda (cần phân biệt với Lăm-ba-đa!)
  7. aInt = Array.ConvertAll(aStr, Function(s As String) CInt(s))

Lưu ý: cách này chỉ áp dụng cho Visual Studio 2008, tức trình biên dịch VB.NET 9.0, trở về sau.

Hình đại diện của người dùng
vo_minhdat2007
Quản trị
Quản trị
Bài viết: 2227
Ngày tham gia: CN 17/07/2005 1:40 am
Has thanked: 13 time
Been thanked: 87 time
Liên hệ:

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi vo_minhdat2007 » T.Tư 17/11/2010 11:24 am

Hì, không ngờ đề tuy đơn giản như vậy mà làm khó các cao thủ forum chúng ta quá :P Các bạn cứ mạnh dạn gửi bài đi, chạy không được N = 5000 cũng không sao đâu, mình có nhiều test để các bạn kiếm điểm mà :)

NovaFooc
Thành viên tâm huyết
Thành viên tâm huyết
Bài viết: 307
Ngày tham gia: T.Ba 11/08/2009 3:27 pm

Re: [Cuộc thi] Kĩ năng lập trình - Kì 6: Các cặp số

Gửi bàigửi bởi NovaFooc » T.Sáu 19/11/2010 7:04 am

kết thúc chuỗi tuần thi mệt mỏi, tạm thời "thất nghiệp" tới đầu tháng 1 năm sau nhập học trở lại :)
quanh đi quẩn lại cũng mấy gương mặt cũ xì nhỉ :D có vẻ k0 thấy các mem bên vb6 tham gia

nếu N > 2, tổng của số đầu với số cuối k0 nhất thiết phải chia hết 3 phai hok?


Quay về “Đề tài chung”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách