Презентация, доклад решения олимпиадных задач по программированию. Олимпиадная Задача ‘’Забавная игра.

Забавная играИмя входного файла: d.inИмя выходного файла: d.outМакс. время работы: 3 секундыМакс. объем памяти: 8 мегабайт

Слайд 1Задача: Забавная игра

Задача: Забавная игра

Слайд 2Забавная игра
Имя входного файла: d.in
Имя выходного файла: d.out
Макс. время работы: 3 секунды
Макс. объем памяти: 8

мегабайт
Забавная играИмя входного файла:	d.inИмя выходного файла:	d.outМакс. время работы:	3 секундыМакс. объем памяти:	8 мегабайт

Слайд 31910=1·2^4+0·2^3+0·2^2+1·2^1+1·2^0=
=100112
10011
11001
11100
01110
00111
10011
1·2^4+1·2^3+1·2^2+0·2^1+0·2^0=2810

1910=1·2^4+0·2^3+0·2^2+1·2^1+1·2^0=	=1001121001111001111000111000111100111·2^4+1·2^3+1·2^2+0·2^1+0·2^0=2810

Слайд 4Дано: Num:Integer;
Требуется: Max:Integer;
Связь: перевести исходное число в двоичную систему счисления, получить все его циклические

сдвиги, перевести их в десятичную систему и выбрать максимальное из них

Постановка задачи

Дано:		Num:Integer;Требуется:	Max:Integer;Связь:	перевести исходное число в двоичную систему счисления, получить все его циклические сдвиги, перевести их в десятичную систему

Слайд 5Перевод в двоичную систему
NumDigits:=0;
While Num>0 Do
Begin
Inc(NumDigits);
Digits[NumDigits]:=Num Mod 2;

Num:=Num Div 2;
End;
Перевод в двоичную системуNumDigits:=0;While Num>0 Do Begin Inc(NumDigits); Digits[NumDigits]:=Num Mod 2; Num:=Num Div 2; End;

Слайд 6Получение циклических сдвигов
Digit:=Digits[1];
For J:=2 To NumDigits Do
Digits[J-1]:=Digits[J];
Digits[NumDigits]:=Digit;


Получение циклических сдвиговDigit:=Digits[1]; For J:=2 To NumDigits Do  Digits[J-1]:=Digits[J]; Digits[NumDigits]:=Digit;

Слайд 7Перевод в десятичную систему и нахождение максимального
Max:=Num;

Num:=0;
For J:=NumDigits DownTo 1 Do

Num:=Num*2+Digits[J];
If Num>Max
Then
Max:=Num;
Перевод в десятичную систему и нахождение максимальногоMax:=Num;…Num:=0; For J:=NumDigits DownTo 1 Do  Num:=Num*2+Digits[J]; If Num>Max

Слайд 8Program bir;
Var
I,J,Max,Num,NumDigits,Digit:Integer;
Digits:Array[1..20] Of Integer;
Inp,Out:Text;
Begin
Assign(Inp,’d.in’);
Reset(Inp);
Read(Inp,Num);
Close(Inp);

Max:=Num;
NumDigits:=0;

Program bir;Var I,J,Max,Num,NumDigits,Digit:Integer; Digits:Array[1..20] Of Integer; Inp,Out:Text;Begin Assign(Inp,’d.in’); Reset(Inp); Read(Inp,Num); Close(Inp); Max:=Num; NumDigits:=0;

Слайд 9 {перевод в двоичную систему}
While Num>0 Do
Begin
Inc(NumDigits);
Digits[NumDigits]:=Num

Mod 2;
Num:=Num Div 2;
End;
For I:=1 To NumDigits-1 Do
Begin
{сдвиг}
Digit:=Digits[1];
For J:=2 To NumDigits Do
Digits[J-1]:=Digits[J];
{перевод в двоичную систему} While Num>0 Do Begin Inc(NumDigits); Digits[NumDigits]:=Num Mod 2; Num:=Num Div 2; End;

Слайд 10 Digits[NumDigits]:=Digit;
{перевод в десятичную систему}
Num:=0;
For J:=NumDigits DownTo 1

Do
Num:=Num*2+Digits[J];
If Num>Max
Then
Max:=Num;
End;
Assign(out,’d.out’);
Rewrite(out);
Write(out,Max);
Close(out);
End.
Digits[NumDigits]:=Digit; {перевод в десятичную систему} Num:=0; For J:=NumDigits DownTo 1 Do  Num:=Num*2+Digits[J]; If Num>Max

Что такое shareslide.ru?

Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.


Для правообладателей

Яндекс.Метрика

Обратная связь

Email: Нажмите что бы посмотреть