Задан массив целых положительных чисел X(n). Все обыкновенные числадлиной не более
Задан массив целых положительных чисел X(n). Все простые числа
длиной не более 5 цифр переписать в массив Y. Удалить из массива
два наивеличайших и три меньших числа.
Эмилия
удалить из массива Y
1 ответ
Женя Катюк
// PascalABC.NET 3.2, сборка 1485 от 15.06.2017
// Внимание! Если программа не работает, обновите версию!
function IsPrime(Self:integer):boolean; extensionmethod;
begin
var n:=Self;
if nlt;4 then Result:=True
else begin
var found:=(n mod 2=0);
var p:=3;
while (not found) and (sqr(p)lt;=n) do
begin found:=(n mod p=0); p+=2 end;
Result:=not found
end
end;
function Digits(Self:integer):integer; extensionmethod;
begin
Result:=Self.ToString.Length
end;
begin
var x:=ReadSeqIntegerWhile('Окончание ввода 0'+NewLine,p-gt;plt;gt;0).ToArray;
var y:=x.Where(y-gt;(y.Digitslt;=5) and y.IsPrime).ToArray;
var s:=y.Select((p,i)-gt;(p,i)).OrderBy(p-gt;p[0]);
var h:=(s.Take(3)+s.TakeLast(2)).Select(p-gt;p[0]).ToHashSet;
y:=y.Where(p-gt;not (p in h)).ToArray;
Writeln('- '*25); y.Println
end.
Пример
Окончание ввода 0
3191 10853 769 683 81 52 653 85781 1 7937 67 316109 767071 98227 7811 283 84 593 976307 815292 31 53 96269 50881 5760 2 9371 7963 50539 2887 370 9973 918 23 2153 2637 183301 11 93563 21499 67967 694 817 990805 86287 805517 55837 307 87251 111919 37 719 4988 89 46727 575581 54042 97847 177 4817 16357 509 89057 4 8219 17623 35 937 3 5 81916 23633 2728 1069 991 122599 61 383 789088 80 614254 1266 72221 143337 195733 491 1831 12781 551093 494563 9316 9721 1483 2815 409 837812 17 41 419 9 13 32533 50329 408 43 768127 317491 631 90702 74005 310087 77893 16356 43451 36017 7 6706 755863 411 551875 595024 681 384049 85933 841968 83 7879 688697 23459 107 47194 257 38 0
- - - - - - - - - - - - - - - - - - - - - - - - -
3191 10853 769 683 653 85781 7937 67 283 593 31 53 96269 9371 7963 50539 2887 9973 23 2153 11 93563 21499 67967 86287 55837 307 87251 37 719 89 46727 4817 509 89057 8219 17623 937 5 23633 1069 991 61 383 72221 491 1831 12781 9721 1483 409 17 41 419 13 32533 50329 43 631 77893 43451 36017 7 85933 83 7879 23459 107 257
// Внимание! Если программа не работает, обновите версию!
function IsPrime(Self:integer):boolean; extensionmethod;
begin
var n:=Self;
if nlt;4 then Result:=True
else begin
var found:=(n mod 2=0);
var p:=3;
while (not found) and (sqr(p)lt;=n) do
begin found:=(n mod p=0); p+=2 end;
Result:=not found
end
end;
function Digits(Self:integer):integer; extensionmethod;
begin
Result:=Self.ToString.Length
end;
begin
var x:=ReadSeqIntegerWhile('Окончание ввода 0'+NewLine,p-gt;plt;gt;0).ToArray;
var y:=x.Where(y-gt;(y.Digitslt;=5) and y.IsPrime).ToArray;
var s:=y.Select((p,i)-gt;(p,i)).OrderBy(p-gt;p[0]);
var h:=(s.Take(3)+s.TakeLast(2)).Select(p-gt;p[0]).ToHashSet;
y:=y.Where(p-gt;not (p in h)).ToArray;
Writeln('- '*25); y.Println
end.
Пример
Окончание ввода 0
3191 10853 769 683 81 52 653 85781 1 7937 67 316109 767071 98227 7811 283 84 593 976307 815292 31 53 96269 50881 5760 2 9371 7963 50539 2887 370 9973 918 23 2153 2637 183301 11 93563 21499 67967 694 817 990805 86287 805517 55837 307 87251 111919 37 719 4988 89 46727 575581 54042 97847 177 4817 16357 509 89057 4 8219 17623 35 937 3 5 81916 23633 2728 1069 991 122599 61 383 789088 80 614254 1266 72221 143337 195733 491 1831 12781 551093 494563 9316 9721 1483 2815 409 837812 17 41 419 9 13 32533 50329 408 43 768127 317491 631 90702 74005 310087 77893 16356 43451 36017 7 6706 755863 411 551875 595024 681 384049 85933 841968 83 7879 688697 23459 107 47194 257 38 0
- - - - - - - - - - - - - - - - - - - - - - - - -
3191 10853 769 683 653 85781 7937 67 283 593 31 53 96269 9371 7963 50539 2887 9973 23 2153 11 93563 21499 67967 86287 55837 307 87251 37 719 89 46727 4817 509 89057 8219 17623 937 5 23633 1069 991 61 383 72221 491 1831 12781 9721 1483 409 17 41 419 13 32533 50329 43 631 77893 43451 36017 7 85933 83 7879 23459 107 257
Валентина Делендик
надобно было в с++ написать код
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов