.


:




:

































 

 

 

 





, , , , " " . , - - , .

, . , , . , . , .

. , [email protected].

1.

 

" " , , - .

"" , . ( " ").

, . , .. """ " ("", 4, 2000, . 19-23) , 10000- .

, (), .

1)

2)

1) .

2) .

3) .

4) , , .

5)* .

..

"" . "" "" . , , , . , , Turbo Pascal, 7.0. .

(Integer, Word, LongInt) , (, ). , . , (n! = 1 * 2 * 3 * * n), Integer 7! = 5040, LongInt 12! = 479001600. , , , . , , ..

. .

( , , ). ( ) "" , , .. , .. "" :

Const MNax = 2000; Type Digit = 0..9; DlChislo = Array[1..Nmax] Of Digit;

:

1) "" ;

2) "" ;

3) "" ;

4) .

. . , . "" , .. .

{ , , ; OK True, , , false} Procedure Translate(S: String; Var A: DlChislo; Var OK: Boolean); Var I: Word; Begin Zero(A); I:= Length(S); OK:= True; While (I >= 1) And OK Do Begin If S[I] In ['0'..'9'] Then A[Length(S)- I + 1]:= Ord(S[I]) - 48 Else OK:= False; I:= I - 1 End End;

Zero(A), . :

{ } Procedure Zero(Var A: DlChislo); Var I: Integer; Begin For I:= 1 To NMax Do A[I]:= 0; End;

, , ( ) . .

, .

{ } Function Dlina(C: DlChislo): Integer; Var I: Integer; Begin I:= NMax; While (I > 1) And (C[I] = 0) Do I:= I - 1; Dlina:= I End;

: , , , . , , , .

, , , . "", , , .. , .

{ . A, B , C } Procedure Multiplication(A, B: DlChislo; Var C: DlChislo); Var I, J: Integer; P: Digit; VspRez: 0..99; Begin Zero(C); For I:= 1 To Dlina(A) Do { } Begin P:= 0; { } For J:= 1 To Dlina(B) Do { } Begin VspRez:= A[I] * B[J] + P + C[I + J - 1]; C[I + J - 1]:= VspRez Mod 10; { I + J - 1} P:= VspRez Div 10 { } End; C[I + J]:= P { , } End End;

.

Program DlUmn;Const NMax = 2000;Type Digit = 0..9; DlChislo = Array[1..Nmax] Of Digit;Var S: String; M, N, R, F: DlChislo; I, MaxF: Word; Logic: Boolean;{ }Procedure Zero(Var A: DlChislo);Var I: Integer; Begin For I:= 1 To NMax Do A[I]:= 0; End;{ }Function Dlina(C: DlChislo): Integer;Var I: Integer; Begin I:= NMax; While (I > 1) And (C[I] = 0) Do I:= I - 1; Dlina:= I End;{ }Procedure Print(A: DlChislo);Var I: Integer; Begin For I:= Dlina(A) DownTo 1 Do Write(A[I]: 1); WriteLn End;{ }Procedure Translate(S: String; Var A: DlChislo; Var OK: Boolean);Var I: Word; Begin Zero(A); I:= Length(S); OK:= True; While (I >= 1) And OK Do Begin If S[I] In ['0'..'9'] Then A[Length(S) - I+ 1]:= Ord(S[I]) - 48 Else OK:= False; I:= I - 1 End End;Procedure Multiplication(A, B: DlChislo; Var C: DlChislo);Var I, J: Integer; P: Digit; VspRez: 0..99; Begin Zero(C); For I:= 1 To Dlina(A) Do Begin P:= 0; For J:= 1 To Dlina(B) Do Begin VspRez:= A[I] * B[J] + P + C[I + J - 1]; C[I + J - 1]:= VspRez Mod 10; P:= VspRez Div 10 End; C[I + J]:= P End End;{ }Begin Repeat { , } Write(' : '); ReadLn(S); Translate(S, M, Logic) Until Logic; Repeat Write(' : '); ReadLn(S); Translate(S, N, Logic) Until Logic; Multiplication(M, N, R); Print(R)End.

Print . .

. , , .

, .

Begin MaxF:= 810; Zero(F); F[1]:= 1; For I:= 1 To MaxF Do Begin Str(I, S); { I S} Translate(S, M, Logic); Multiplication(F, M, F); Print(F); WriteLn(' ', I: 4, ' ', Dlina(F), ' .') End End.

, 810! , 1999 . . 5 (IBM PC Pentium100).

. , , . .. .. [7]. , ( ), . , 1989-99 .

1. ( 20).

2. , 20.

3. an, a > MaxInt, n > 10.

4. 264 1, .

5. 100!.

6. n - (n > 40).

7. n!, n > 12.

8. nn, n > 10.

9. a b, a, b .

10. 100! + 2100.

11. 100! 2100.

12. 7123.

13. 211213 1 ?

14. 2200.

15. m - n (m, n > 20).

16. , am, bn (a, b <= 40000; m, n <= 10).

17. n m (n >= 50).

18. n - (n > 20).

19. (n!)! (n >= 3).

20. 1! + 2! + 3! +... + n! n > 10.

21.

n > 10. P / Q, P, Q .

22. (nn)! n >= 3.

23. n 1, k, k 2, k 3,..., kn (n > MaxInt). : n .

24. n , k (n > MaxInt). : n .

25. 12 + 22 + 32 + + n 2 (n >= 20000).

26. 1 n + 2 n + 3 n +... + nn (n >= 10).

27. , 1011.

28. anxn + an - 1 xn - 1 +... + a 1 x + a 0, ai x 1011.

29. m n (m, n >= 1011).

30. , m n (m, n >= 1011) .

31. , 219936 * (219937 1) , .. , .

32. " ". , , :
1) 5;
2) 5 , 5 .

33. ,

an + 1 = 7 an mod 2023, a 1 = 1,

x mod y x y. , an 1 <= n <= 1000000000000000000000.

34.

, an 1 <= n <= 150.

. n = 58 an = 10359022039470231387111424.

35. ( 20) , , .

36. 11.

37. . Q N. Q N , , , 100. Q .

, Q N, Q * N.

.


: 0.1(6)
: 2
: 0.(3)

1. .., .., .., .. . .: , 1988.

2. . . . , 1991.

3. .. . .: , 1989.

4. .. . . . .: , 1991.

5. . . .: , 1992.

6. .., .. . : - , 1998.

7. .., .. . . .: , 1990.

8. .. . : - , 1998.

 





:


: 2017-02-11; !; : 1010 |


:

:

, - , ; , - .
==> ...

1274 - | 1308 -


© 2015-2024 lektsii.org - -

: 0.041 .