Написать программу в паскале нужно вывести трехзначные числа, сумма цифр которых простое число.
156
161
Ответы на вопрос:
// pascalabc.net 3.3, сборка 1625 от 17.01.2018 // внимание! если программа не работает, обновите версию! function isprime(self: integer): boolean; extensionmethod; // является ли число n простым begin if self< 4 then result: =true else begin var found: =(self mod 2=0); var p: =3; while (not found) and (sqr(p)< =self) do begin found: =(self mod p=0); p+=2 end; result: =not found end end; function sumdig(self: integer): integer; extensionmethod; // возвращает сумму цифр числа n begin var n: =self; result: =0; while n> 0 do begin result+=n mod 10; n: =n div 10 end end; begin 100.to(999).where(t-> t.sumdig.isprime).println end. результат 100 101 102 104 106 110 111 113 115 119 120 122 124 128 131 133 137 139 140 142 146 148 151 155 157 160 164 166 173 175 179 182 184 188 191 193 197 199 200 201 203 205 209 210 212 214 218 221 223 227 229 230 232 236 238 241 245 247 250 254 256 263 265 269 272 274 278 281 283 287 289 290 292 296 298 300 302 304 308 311 313 317 319 320 322 326 328 331 335 337 340 344 346 353 355 359 362 364 368 371 373 377 379 380 382 386 388 391 395 397 401 403 407 409 410 412 416 418 421 425 427 430 434 436 443 445 449 452 454 458 461 463 467 469 470 472 476 478 481 485 487 490 494 496 500 502 506 508 511 515 517 520 524 526 533 535 539 542 544 548 551 553 557 559 560 562 566 568 571 575 577 580 584 586 593 595 599 601 605 607 610 614 616 623 625 629 632 634 638 641 643 647 649 650 652 656 658 661 665 667 670 674 676 683 685 689 692 694 698 700 704 706 713 715 719 722 724 728 731 733 737 739 740 742 746 748 751 755 757 760 764 766 773 775 779 782 784 788 791 793 797 803 805 809 812 814 818 821 823 827 829 830 832 836 838 841 845 847 850 854 856 863 865 869 872 874 878 881 883 887 890 892 896 902 904 908 911 913 917 919 920 922 926 928 931 935 937 940 944 946 953 955 959 962 964 968 971 973 977 980 982 986 991 995
Var n,s,x: integer; f,g: file of integer; begin assign(f,'d: \f.txt'); reset(f); while not eof(f) do begin read(f,n); x: =trunc(sqrt(n)); if (x*x=n) and (x mod 2=1) then s: =s+1; end; assign(g,'d: \g.txt'); rewrite(g); write(g,s); reset(f); while not eof(f) do begin read(f,n); write(g,n); end; close(f); close(g); end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
bushina213.08.2021 15:51
-
jessikafox24.05.2022 05:22
-
alexeypimkin21.10.2022 01:27
-
JackDead06.12.2021 09:14
-
Дарья2004111107.10.2020 13:45
-
Max01050727.03.2020 20:42
-
ПростоПапаЮра04.11.2021 18:35
-
Kate2451208.06.2023 18:53
-
zhan0504197603.02.2021 06:23
-
sasagolyakov22.05.2020 21:56
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.