==============================
AKS-Test.
==============================
Обычно, когда проводят тест на простоту сталкиваются с тем, что определить простоту числа в большинстве тестов можно лишь с некоторой вероятностью.
Но математика не стоит на месте и сравнительно недавно появился AKS-тест, позволяющий быстро и гарантированно определить, является ли число простым.
Суть метода такова. Пусть число, которое мы тестируем обозначается A. У нас есть такое выражение:
. Если раскрыть скобки и привести это дело к многочлену вида
и все коофиценты k в этом многочлене делятся на A без остатка, то число А - простое. Без вариантов.
Блок-схема с числом n представлена на рисунке 1.
В цикле:
. (! - факториал)
P.S. В блок-схеме есть элемент вида (А). Он использовался для связи, так как места на стрелку справа не оказалось. Можешь их убрать и соединить освободившиеся места стрелкой.
'Multyple' operation in binary system is simple: when the both components are '1' result will be '1', otherwise result will be '0'.
0011
x
1011
-----------
1011
+
1011
+ 0
+ 0
----------------
100001
PS/ 1+1=10; 0+0=0; 1+0=1; 1011*1=1011; 1011*0=0
а)89/2 = 44, остаток: 1
44/2 = 22, остаток: 0
22/2 = 11, остаток: 0
11/2 = 5, остаток: 1
5/2 = 2, остаток: 1
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
8910 = 10110012
б)600/2 = 300, остаток: 0
300/2 = 150, остаток: 0
150/2 = 75, остаток: 0
75/2 = 37, остаток: 1
37/2 = 18, остаток: 1
18/2 = 9, остаток: 0
9/2 = 4, остаток: 1
4/2 = 2, остаток: 0
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
60010 = 10010110002
в)2010/2 = 1005, остаток: 0
1005/2 = 502, остаток: 1
502/2 = 251, остаток: 0
251/2 = 125, остаток: 1
125/2 = 62, остаток: 1
62/2 = 31, остаток: 0
31/2 = 15, остаток: 1
15/2 = 7, остаток: 1
7/2 = 3, остаток: 1
3/2 = 1, остаток: 1
1/2 = 0, остаток: 1
201010 = 111110110102
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian");
double h,x,y;
cout << "Введите x,y: ";
cin >> x >> y;
if (x<y)
{
h=atan(x+abs(y));
}
else if (x>y)
{
h=atan(abs(x)+y);
}
else if (x=y)
{
h=pow(x+y,2);
}
cout << "h = " << h << endl;
return 0;
}
Var a,b: Integer;
begin
writeln('Введите a и b');
readln(a,b);
writeln('S=a*b=',a*b);
writeln('P=2*(a+b)=',2*(a+b));
end.