В некоторой стране на Азорских островах автомобильный номер длиной 6 символов состоит из букв алфавита, в котором 15 символов и пятиричных цифр в любом порядке. Каждый символ кодируется одинаковым и минимально возможным количеством битов. Сколько БИТОВ памяти потребуется для хранения 20 автомобильных номеров в маленькой деревни? (Если число получится нецелое, округлите его до целого в бОльшую сторону)
public class Main {
public static void main(String[] args){
int[] a = new int[new java.util.Random().nextInt(10000)];
for(int i = 0; i < a.length; i++)
a[i] = new java.util.Random().nextInt(10000);
/**
* Сортировка - пузырь
*/
for (int i = 0; i < a.length-1; i++)
for (int j = 0; j < a.length-i-1; j++)
if (a[j] > a[j+1]){
int b = a[j];
a[j] = a[j+1];
a[j+1] = b;
}
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}
}
Проверка:
$ javac Main.java
1 4 4 4 4 4 13 14 22 22 23 40 47 49 51 60 61 61 62 63 64 68 70 73 83 83 83 85 85 89 89 90 90 93 95 95 97 111 111 115 117 121 129 129 129 138 142 148 148 151 155 164 166 168 169 175 177 181 203 211 214 221 223 223 229 230 234 234 238 239 241 247 247 251 251 251 256 257 259 265 266 268 269 273 286 287 288 289 294 298 302 302 305 306 309 311 312 312 315 316 333 342 347 348 349 351 355 356 360 361 366 375 377 381 381 382 400 403 406 411 411 417 417 417 419 425 432 433 433 444 445 445 448 450 450 451 452 458 460 463 463 467 473 474 478 483 484 485 485 485 485 491 504 505 507 508 515 522 523 524 530 531 532 535 538 538 542 546 548 550 550 555 555 559 565 566 566 571 572 576 582 595 600 604 606 606 609 610 612 613 624 630 641 642 644 646 646 659 672 675 675 675 678 681 684 685 693 705 706 710 728 731 735 737 739 743 754 754 756 757 761 762 770 773 776 778 792 798 800 808 810 816 820 822 823 827 828 839 848 850 852 853 854 858 860 863 863 866 868 873 875 877 883 885 886 893 896 901 903 911 912 914 917 917 923 926 938 940 945 950 951 954 958 960 972 977 978 980 981 982 984 986 987 992 997
Самая простарая соортировка:
import java.util.Arrays;
public class Main {
public static void main(String[] args){
int[] a = new int[new java.util.Random().nextInt(1000)];
for(int i = 0; i < a.length; i++)
a[i] = new java.util.Random().nextInt(1000);
/**
* Сортировка
*/
Arrays.sort(a);
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}
}
Проверка:
$ javac Main.java
0 1 1 2 4 6 6 7 7 9 9 9 11 11 12 14 15 18 20 21 21 22 23 24 25 26 26 27 28 29 30 31 31 32 32 32 33 35 35 36 36 38 39 39 40 41 41 42 42 45 46 47 48 55 57 61 63 63 64 64 66 68 69 70 70 70 70 71 73 73 74 76 76 79 79 80 81 82 83 84 85 85 86 88 89 92 93 93 94 97 101 102 103 104 106 106 110 112 118 120 120 121 122 123 123 125 126 127 128 130 130 131 131 131 133 135 135 135 138 138 138 141 141 142 145 145 145 145 146 146 148 151 153 155 157 157 157 162 162 163 163 168 171 172 176 176 176 176 181 181 181 181 182 184 186 186 189 190 190 194 195 198 200 200 201 203 204 207 207 208 211 213 214 216 218 221 222 223 224 225 225 225 226 227 230 232 234 234 234 237 237 238 240 241 241 243 243 243 245 248 248 249 250 251 253 254 256 256 257 259 260 260 262 263 263 264 265 266 267 269 270 271 271 271 272 272 273 274 276 276 277 277 279 279 284 284 285 288 288 289 290 291 294 294 295 298 302 303 305 305 308 309 310 313 314 315 315 316 322 322 322 323 323 323 324 325 326 328 331 333 333 333 335 336 336 338 338 341 343 343 343 346 348 352 353 355 357 357 360 364 366 367 367 368 368 370 372 374 374 375 377 377 379 380 380 380 382 382 384 384 390 391 393 393 393 395 395 395 397 397 399 400 400 401 403 406 407 407 408 409 410 410 411 412 413 414 417 418 418 419 427 427 428 428 428 432 434 435 435 440 441 441 442 442 443 443 451 458 458 459 459 464 468 470 470 472 472 474 476 480 483 483 485 486 487 489 492 493 495 495 496 499 501 501 502 503 504 505 506 506 509 509 509 510 511 512 514 515 519 519 520 521 526 526 527 528 528 530 533 536 537 539 539 542 542 545 546 547 551 554 555 558 559 562 563 563 563 564 564 565 565 566 567 569 571 573 573 573 574 575 576 580 583 584 588 589 589 589 590 590 590 592 592 592 593 595 597 597 599 599 599 600 601 604 605 606 606 607 607 611 613 614 615 615 616 616 620 620 620 621 625 625 626 629 630 631 632 633 634 635 638 639 640 642 643 644 644 644 645 648 650 650 651 654 655 657 657 658 659 661 661 663 664 665 666 666 666 668 676 677 680 680 681 683 684 685 686 687 689 690 691 692 694 696 697 699 701 702 703 704 704 706 707 707 708 708 711 712 712 712 712 720 723 723 723 726 728 730 731 734 734 734 734 735 737 737 739 739 739 740 743 744 745 746 748 750 751 751 755 756 757 757 757 760 763 764 764 765 770 772 772 774 778 778 779 781 781 783 788 788 788 789 790 792 793 795 795 797 799 799 800 801 802 804 804 805 809 812 813 815 818 821 823 825 827 827 828 831 831 832 833 833 834 835 836 838 838 841 842 842 845 847 848 848 850 850 850 851 851 852 853 854 854 855 859 861 861 861 864 865 867 873 874 875 877 877 877 878 880 882 885 886 888 889 889 892 893 894 895 895 906 907 912 913 914 915 915 918 918 919 920 922 923 923 924 928 929 929 930 936 937 937 938 938 940 944 946 949 950 950 951 957 959 960 962 965 967 969 973 975 978 980 980 980 980 981 982 982 985 986 986 997 998 999
//PascalABC.Net 3.0, сборка 1064
const
n=15;
var
c:array[1..n] of integer;
i,k:integer;
sn,ap:longint;
begin
Randomize;
Writeln('Исходный массив');
k:=0;
for i:=1 to n do begin
c[i]:=Random(51)-25;
Write(c[i]:4);
if c[i]<0 then sn:=sn+c[i]
else
if c[i]>0 then begin ap:=ap+c[i]; Inc(k) end
end;
Writeln;
Writeln('Сумма отрицательных элементов равна ',sn);
Writeln('Среднее арифметическое положительных элементов равно ',ap/k)
end.
Тестовое решение:
Исходный массив
22 15 -5 4 7 -6 24 23 -25 -21 -10 21 -11 -4 22
Сумма отрицательных элементов равна -82
Среднее арифметическое положительных элементов равно 17.25
2. Современный вариант (а так в школах почему-то не учат)
//PascalABC.Net 3.0, сборка 1064
begin
var c:=SeqRandom(15,-25,25);
Writeln('Исходный массив'); Println(c);
Writeln('Сумма отрицательных элементов равна ',c.Where(x->x<0).Sum);
Writeln('Среднее арифметическое положительных элементов равно ',
c.Where(x->x>0).Average)
end.
Тестовое решение:
Исходный массив
[21,13,16,-6,-5,-21,-23,10,14,5,-14,7,-10,-9,9]
Сумма отрицательных элементов равна -120
Среднее арифметическое положительных элементов равно 12.125