.


:




:

































 

 

 

 





K-15

I


1.

2.

3.

4.

5.

6.

7.

8. ˳

9.


 

, Fort Knox.

Fort Knox . . xi yi zi ρi.

. ( ) :

1. ᒺ V 3

2. ( W ( Oy) U ( Oz)), de 㳿 dl . dm.

3. , :

P .

.

R Ox.

T Oy.

A .

D .

E 㳿, M0, 㳿, E0, M ( M , M - , M ).

xi, yi, zi Ox, Oy, Oz.

: Rn = Fibn mod K.

 

: V, W, U, K, dl, dm, de, M0, M, E0, E.

 

:

1. Գ.

́ Գ́, ́ Գ́ Fn,

Գ '

ϕ Fn n:

.


− 1 < 1 − ϕ < 0, , , n, Fn , . ,

 

2. ᒺ .

ᒺ x y z x*y*z.

ᒺ.

3. .

, . .

1946 . : n- n . , . ϳ .

. , 0, m. , [0,1), m.

4. C.

C (. C) , , , 1972 г Bell Telephone Laboratories UNIX.

, . .

, , , . . C , C++, , , Java C#, .

 

 

V = 50;

W = 11;

U = 7;

K = 13;

dl = 1;

dm = 8;

de = 40;

M0 = 100;

M = 140;

E0 = 400;

E = 220;

 

V = 11

M = 121

E = 240


 

x, y, z:


1. xyz

2. x zy

3. y z x

4. y xz

5. z x y

6. z yx

( x zy xyz 2 ).

 


, . (dl = const, , ).

R T .

 


 

3 ,

F1.c

1.1. fibb

1.2. get_rand

F2.c

2.1. P

2.2. C

2.3. R

2.4. T

2.5. A

2.6. D

F3.c

3.1. swap

3.2. min

3.3. get_x

3.4. main

fibb Գ 0 0.

get_rand .

P, C, R, T, A, D .

swap xx yy.

min .

x .

main .

 

 


 

. .

P() fibb(1); main(), P().

int P() // Put

{

Fibb(1);

x=get_rand();

y=get_rand();

z=get_rand();

ro=get_rand();

// cur_m = x*y*z*ro;

 

return 0;

}

 

x>0 x y z ro while (x*y*z*ro>0

 

int R() // Rotare Ox

{

xx=y;

yy=z;

y==yy;

z==xx;

}

 

y==yy;

z==xx;

y=yy;

z=xx;

 


˳

1. www.wikipedia.org

2. / . . , . . -- .: , 2005. 456-470 .

3. . , . . C++ : . . - : , 1992. 651.

1. C.

2. ˳ .


 

<P>::={<VD>|<FD>}

<VD>::=<IT><WS><IV>{,<IV>};

<FD>::=<IT><WS><IF>(<PD>){[<SS>]}

<FD>::=<IT><WS><IF>(<PL>)<PS><SS>

<PD>::=<IT><WS><IV>[{,<IT><WS><IV>}]

<IT>::=int|char|double|bool|string|short|unsigned

<IV>::=<L>|<IV><L>|<IV><NU>

<L>::=a|b||z|A|B||Y|Z|_

<NU>::=0|1|2|3|4|5|6|7|8|9

<SS>::={{<VD>}{<S>}}

<S>::=<SS>|return(<E>) ;|<E>;

<E>::=<D>{<+-><D>}

<D>::=<M>{<*/%><M>}

<M>::=<A><^><M>

<A>::=<const>|<IV>|IF([<E>{,<E>}])|(<E>)

:

<P>

<VD>

<FD>

<IT>

<WS> wide space (Space, Enter, Tab)

<IV>

<L>

<NU> ( )

<IF>

<PD>

<PL>

<PS>

<SS>

<S>

<E>

<D>

<M>

<A>


˳

F1.c

int fibb(int mode)

{

static int f1, f2, f3;

if (mode==0) {

f3=f1+f2;

f1=f2;

f2=f3;

} else {

f1=0;

f2=1;

}

return (f1);

}

 

extern K;

 

int get_rand()

{

return fibb(0)%K;

}

 

F2.c

 

extern x, y, z, ro, xx, yy;

extern V, W, U, K, dl, dm, de, M0, M, E0, E;

 

int P() // Put

{

x=get_rand();

y=get_rand();

z=get_rand();

ro=get_rand();

// cur_m = x*y*z*ro;

 

return 0;

}

 

int C() // Centre

{

return 0;

}

 

int R() // Rotare Ox

{

xx=y;

yy=z;

y=yy;

z=xx;

}

 

int T() // Rotare Oy

{

xx=x;

yy=z;

x=yy;

z=xx;

}

 

int A() // Accept

{

E0-=de;

M0=M0 + ro*min(dl,x)*y*z - dm;

V-=min(dl,x)*y*z;

x-=min(dl,x);

}

 

int D() // Drop

{

x=0;

return 0;

}

 

F3.c

int x, y, z, ro, xx, yy;

int V, W, U, K, dl, dm, de, M0, M, E0, E;

 

int swap()

{

int t;

t = xx;

xx = yy;

yy = t;

}

 

int min(int x, int y)

{

return x<y? x: y;

}

 

int get_x(int mode)

{

if (mode==-1) return 1000000000;

if (mode/3 == 0) return x;

if (mode/3 == 1) return y;

if (mode/3 == 2) return z;

}

 

int main()

{

// Initializing variables

V = 50;

W = 11;

U = 7;

K = 13;

dl = 1;

dm = 8;

de = 40;

M0 = 100;

M = 140;

E0 = 400;

E = 220;

 

// Workplace

fibb(1);

 

while (E0 > E && M0 < M && V!=0) {

P();

 

int minx;

minx = -1;

if (y<=W && z<=U && x<get_x(minx)) minx=0;

if (z<=W && y<=U && x<get_x(minx)) minx=1;

if (z<=W && x<=U && y<get_x(minx)) minx=2;

if (x<=W && z<=U && y<get_x(minx)) minx=3;

if (x<=W && y<=U && z<get_x(minx)) minx=4;

if (y<=W && x<=U && z<get_x(minx)) minx=5;

 

if (minx>0) {minx-=1; R();}

if (minx>1) {minx-=1; T();}

if (minx>2) {minx-=1; R();}

if (minx>3) {minx-=1; T();}

if (minx>4) {minx-=1; R();}

 

if (y<=W && z<=U) while (x*y*z*ro>0 && E0-de >= E && M0+(min(dl,x)*y*z*ro)-dm <= M && V-min(dl,x)*y*z>=0) A();

 

if (x>0) D();

}

 

// Returning

return 0;

}





:


: 2016-03-26; !; : 335 |


:

:

, ,
==> ...

1470 - | 1440 -


© 2015-2024 lektsii.org - -

: 0.056 .