Конечная точка
x = x0 + 3(1+1)+3 = x0+9
y = y0 + 3(3-2)+9 = y0+12
х0 у0 - начальные координаты
(9, 12) - общий вектор смешения за алгоритм
//массив отсортировать, удалить повторные
#include <iostream>
#include <list>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
int main() {
int j,n;
list<int> lst;
list<int>::iterator it1;
// начальная установка генератора случ. чисел
srand(time(NULL));
//заполнение списка
cout<<"n = "; cin>>n;
for (j=0; j<n; j++)
lst.push_back(rand() % 10);
//вывод на экран
cout<<"initial array: ";
for (it1=lst.begin(); it1!=lst.end(); it1++)
cout<<*it1<<" ";
//сортировка, удаление повторных
lst.sort();
lst.unique();
//вывод списка
cout<<endl<<"after removing: ";
for (it1=lst.begin(); it1!=lst.end(); it1++)
cout<<*it1<<" ";
cout<<endl;
system("pause");
return 0;
}
В варианте без сортировки (что, вообще говоря, не принципиально) убираете строку lst.sort();
<span>
</span>
Program Jopascal;
Var
i, A: longint;
x,
u, j,
N, m : longint;
Function FDiv (A, left : LongInt) : LongInt;
var
d,
i : longint;
begin
d := 1;
for i := left to Trunc (Sqrt (A)) do
if (A mod i = 0)
then
begin
d := i;
Break;
end;
if (d <> 1)
then
FDiv := d
else
FDiv := A;
end;
Function g (N, u : longint) : longint;
var
i : longint;
begin
i := 0;
while (N mod u = 0)
do
begin
Inc (i);
N := N div u;
end;
g := i;
end;
Begin
Assign (Input, 'input.txt');
Assign (Output, 'output.txt');
Reset (Input);
Read (A);
Close (Input);
m := 0;
N := 1;
i := FDiv (A, 2);
u := 2;
while (A > 1)
do
begin
N := N * i;
j := 0;
while (A mod i = 0)
do
begin
Inc (j);
A := A div i;
end;
if (j > m)
then
begin
m := j;
u := i;
end;
i := FDiv (A, i + 2);
end;
x := 1;
while (g (N * x, u) * N * x < m)
do
Inc (x);
N := N * x;
ReWrite (Output);
Write (N);
Close (Output);
End.
начинаем делить число на два
200:2=100 ост. 0
теперь при каждом последующем делении берем частное от деления предыдущего числа и так пока не получим единицу
100:2=50 ост. 0
50:2=25 ост. 0
25:2=12 ост.1
12:2=6 ост. 0
6:2=3 ост. 0
3:2=1 ост. 1
1:2=0 ост. 1
теперь остатки запишем в обратном порядке 11001000 и получим число 200 в двоичной системе.
489:2=244 ост.1
244:2=122 ост. 0
122:2=61 ост. 0
61:2=30 ост. 1
30:2= 15 ост. 0
15:2=7 ост. 1
7:2=3 ост. 1
3:2=1 ост. 1
1:2=0 ост. 1
489 = 111101001
Сложно очень,попроси учителя чтобы помог