//написано на си/си++
#include <iostream>#include <stdio.h>#include <time.h>
#define length 20
int main() { setlocale(LC_ALL, ""); srand(time(NULL));
int arr[length];
for (int i = 0; i < length; ++i) { arr[i] = rand() % 100 + 1; std::cout << arr[i] << "\n"; }
for (int i = 0; i < length; ++i) { if (arr[i] % 2 == 0) { for (int j = 0; j < length - 1; ++j) { if (arr[j] % 2 == 0) { if (arr[i] < arr[j]) {//сортировка будет происходить от Б к М int tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } } } } }
std::cout << "\nsorted array\n\n"; for (int i = 0; i < length; ++i) { std::cout << arr[i] << "\n"; }
system("pause"); return 0;}
==============================
AKS-Test.
==============================
Обычно, когда проводят тест на простоту сталкиваются с тем, что определить простоту числа в большинстве тестов можно лишь с некоторой вероятностью.
Но математика не стоит на месте и сравнительно недавно появился AKS-тест, позволяющий быстро и гарантированно определить, является ли число простым.
Суть метода такова. Пусть число, которое мы тестируем обозначается A. У нас есть такое выражение:
. Если раскрыть скобки и привести это дело к многочлену вида
и все коофиценты k в этом многочлене делятся на A без остатка, то число А - простое. Без вариантов.
Блок-схема с числом n представлена на рисунке 1.
В цикле:
. (! - факториал)
P.S. В блок-схеме есть элемент вида (А). Он использовался для связи, так как места на стрелку справа не оказалось. Можешь их убрать и соединить освободившиеся места стрелкой.
var s1,s2: string; p:integer;
begin
writeln('Введите фамилию и имя:');
readln(s1);
p:=pos(' ',s1);
s2:=copy(s1,p+1,1)+'. '+copy(s1,1,p-1);
writeln(s2);
end.
Пример:
Введите фамилию и имя:
Иванов Петр
П. Иванов