рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рдЦрд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореБрдЭреЗ 1M рдкрд╣рд▓реЗ рдкреНрд░рд╛рдЗрдореНрд╕ рдЦреЛрдЬрдиреЗ рдХрд╛ рдХрд╛рдо рдорд┐рд▓рд╛ред
Habr├й рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдмрд╛рд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ред рд▓реЗрдХрд┐рди, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░, рдпрд╣ рд╕рдВрдЦреНрдпрд╛
рдПрди рддрдХ рд╕рднреА рдЕрдкрд░рд╛рдзреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛
ред рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдХреИрд╕реЗ рдореИрдВрдиреЗ
рдПрди рдкрд╣рд▓реЗ рдкреНрд░рд╛рдЗрдо рдирдВрдмрд░ рдЦреЛрдЬрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ред
рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреЛрдИ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИред рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рд╣реИ, рдЬрдм рддрдХ рд╣рдо рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рднрд╛рдЬрдХреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдПрдХ рдмреЗрд╣рдж рдЦрд░рд╛рдм рдХрд╛рдо рд╣реИред
рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореБрдЭреЗ 1 рдорд┐рд▓рд┐рдпрди рдкреНрд░рд╛рдЗрдо рдЦреЛрдЬрдиреЗ рдореЗрдВ рдХреЗрд╡рд▓ 0.262 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо C ++ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкреНрд░рд╛рдЗрдо рдирдВрдмрд░реЛрдВ рдкрд░ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ рдХреА рддрд░рд╣, рдореИрдВрдиреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рддреЛ, рдЕрднрд╛рдЬреНрдп рд╕рдВрдЦреНрдпрд╛
p рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рджреЛ рднрд╛рдЬрдХ рд╣реИрдВ - рдПрдХ рдФрд░
p ред рдкрд╣рд▓реА рдмрд╛рдд рдЬреЛ рдзреНрдпрд╛рди рдореЗрдВ рдЖрддреА рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкрд┐рдЫрд▓реЗ рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдХреЗ рдЬрд╛рдВрдЪрдирд╛ред
рд╡рд┐рдЪрд╛рд░ рдмреБрд░рд╛ рдирд┐рдХрд▓рд╛ред рдПрдХ рд▓рд╛рдЦ рд╕рд░рд▓ рдХреА рдЦреЛрдЬ рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкрд╣рд▓реЗ 30 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖред рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
10,000 - 2,349 рдПрд╕ред
100,000 - 293.552 рдПрд╕
1,000,000 - рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рднреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ 2 рд╣реА рдПрдХрдорд╛рддреНрд░ рдкреНрд░рдореБрдЦ рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдбрд┐рд╡рд╛рдЗрдбрд░ рдХреЗ рд╕рд╛рде рднреА - рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рддреАрд╕рд░реЗ, рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдпрд╣ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рди рдХрд┐ рдЬрд╛рдБрдЪ рдХреА рдЧрдИ рдЖрдзреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдЕрдзрд┐рдХред рдпрд╣рд╛рдБ рдпрд╣ рдЖрдпрд╛ рд╣реИ:
// Listing 1 <br/>
<br/>
#include <iostream> <br/>
#include <vector> <br/>
#include <ctime> <br/>
<br/>
using namespace std ; <br/>
<br/>
int main ( ) <br/>
{ <br/>
clock_t start = clock ( ) ; <br/>
<br/>
const int AIM = 10000 ; <br/>
<br/>
vector < int > prime_nums ; <br/>
prime_nums. push_back ( 2 ) ; <br/>
<br/>
for ( int num = 3 ; prime_nums. size ( ) < AIM ; num + = 2 ) <br/>
{ <br/>
bool isprime = true ; <br/>
for ( int i = 3 ; i <= num / 2 ; i + = 2 ) <br/>
{ <br/>
if ( num % i == 0 ) <br/>
{ <br/>
isprime = false ; <br/>
break ; <br/>
} <br/>
} <br/>
<br/>
if ( isprime ) <br/>
prime_nums. push_back ( num ) ; <br/>
} <br/>
<br/>
cout << prime_nums [ AIM - 1 ] ; <br/>
<br/>
clock_t end = clock ( ) ; <br/>
cout << " \n ----------------" << endl ; <br/>
cout << "Time: " << double ( end - start ) / CLOCKS_PER_SEC << " sec" << endl ; <br/>
}
рдпрд╣ рдмреЗрд╣рддрд░ рд╣реБрдЖ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдПрдХ рдорд┐рд▓рд┐рдпрди рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛
10,000 - 0,589 рдПрд╕ред
100,000 - 72.662 рдПрд╕
1,000,000 - 20 рдорд┐рдирдЯ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдореИрдВрдиреЗ рдореВрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдерд╛ред рдЖрдк 5 рдФрд░ 0. рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдЖрдк рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рджрд┐рд╡реНрдпрд╛рдВрдЧреЛрдВ рдХреА рд╕реВрдЪреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрди рдкрд░ рдкрд╣рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЦреНрдпрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░, рдпрд╣ рдореБрдЭреЗ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдореИрдВ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рд╕реЗ рдкрд╛рдП рдЧрдП рдЕрдкрд░рд╛рдзреЛрдВ рдкрд░ рдирдП рдирдВрдмрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рдгрд╛рдо рдирд╣реАрдВ рд▓рд╛рдпрд╛ред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдирдВрдмрд░ рдХреЗ рд╕рд╛рде, рдЪреЗрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ, рдФрд░ рд╡рд┐рднрд╛рдЬрди рдСрдкрд░реЗрд╢рди рд╕рдмрд╕реЗ рдХрдард┐рди рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред
рдореИрдВ рдЦреЛрдЬ рдореЗрдВ рдирд┐рдХрд▓рд╛ред рдореИрдВрдиреЗ
рдПрд░рд╛рдЯреЛрд╕реНрдердиреАрдЬ рдХреА
рдЫрд▓рдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореЗрд░реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ *
рдПрди рдкреНрд░рд╛рдЗрдореНрд╕ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХрд┐рддрдиреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЭрд╛рд░рдирд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред
рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реЗрдЯ рд▓рд╛рднрджрд╛рдпрдХ рд╣реИред рдЬрдм рддрдХ рдЖрдк рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддреЗ, рддрдм рддрдХ рдЖрдкрдХреЛ рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рдХреБрдЫ рд╕реЗрдЯреЛрдВ рдХреЛ рдирд┐рдЪреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рдирдП рд╕реЗрдЯ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдкрд╛рдП рдЧрдП рдкреНрд░рд╛рдЗрдо рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдЫрд▓рдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдБ рдХрдИ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рдХреЛрдб рд╣реИ:
// Listing 2 <br/>
<br/>
#include <iostream> <br/>
#include <ctime> <br/>
#include <vector> <br/>
<br/>
using namespace std ; <br/>
<br/>
int main ( ) <br/>
{ <br/>
clock_t start = clock ( ) ; <br/>
<br/>
const int AIM = 1000000 ; <br/>
<br/>
int startSize = AIM ; // <br/>
int addSize = AIM ; // <br/>
<br/>
vector < bool > nums ( startSize ) ; <br/>
vector < int > primeNums ( AIM ) ; <br/>
<br/>
int foundPrimes = 0 ; <br/>
<br/>
for ( int i = 2 ; i < startSize ; i ++ ) <br/>
nums [ i ] = true ; <br/>
<br/>
bool addition = false ; <br/>
int adder = 0 ; <br/>
while ( true ) <br/>
{ <br/>
if ( addition ) <br/>
{ <br/>
nums. resize ( nums. size ( ) + addSize, true ) ; <br/>
<br/>
// <br/>
for ( int i = 0 ; i < foundPrimes ; i ++ ) <br/>
{ <br/>
int cur_num = primeNums [ i ] ; <br/>
if ( ( addSize + ( ( nums. size ( ) - addSize ) % cur_num ) ) < cur_num ) <br/>
continue ; <br/>
for ( int j = ( ( nums. size ( ) - addSize ) / cur_num ) * cur_num ; j < nums. size ( ) ; j + = cur_num ) <br/>
nums [ j ] = false ; <br/>
} <br/>
} <br/>
else <br/>
addition = true ; <br/>
<br/>
<br/>
int iter ; <br/>
if ( foundPrimes == 0 ) <br/>
iter = 2 ; <br/>
else <br/>
iter = primeNums [ foundPrimes - 1 ] + 2 ; <br/>
<br/>
for ( ; iter < nums. size ( ) ; iter ++ ) <br/>
{ <br/>
// <br/>
if ( nums [ iter ] ) <br/>
{ <br/>
primeNums [ foundPrimes ] = iter ; <br/>
foundPrimes ++ ; <br/>
if ( foundPrimes == AIM ) <br/>
break ; <br/>
// <br/>
for ( int j = iter + iter ; j < nums. size ( ) ; j + = iter ) <br/>
nums [ j ] = false ; <br/>
} <br/>
else <br/>
continue ; <br/>
<br/>
} <br/>
if ( foundPrimes == AIM ) <br/>
break ; <br/>
} <br/>
<br/>
cout << "Last prime: " << primeNums [ AIM - 1 ] ; <br/>
<br/>
clock_t end = clock ( ) ; <br/>
cout << " \n ----------------" << endl ; <br/>
cout << "Time: " << double ( end - start ) / CLOCKS_PER_SEC << " sec" << endl ; <br/>
return 0 ; <br/>
}
рдкрд░рд┐рдгрд╛рдо рдереЛрдбрд╝рд╛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдереЗ:
10,000 - 0.001 рдПрд╕ред
100,000 - 0.021 рдПрд╕ред
1,000,000 - 0,262 рдПрд╕ред
...
10,000,000 - 2,999 рдПрд╕ред
рдЗрд╕ рдкрд░, 1 рдПрдо рдкрд╣рд▓реЗ рдЕрдкрд░рд╛рдзреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде, рдореИрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред рдкрд░рд┐рдгрд╛рдо рдиреЗ рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдФрд░ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдЖрдк Eratosthenes рдХреА рдЫрд▓рдиреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рд╕реА рднреА рдЬреНрдЮрд╛рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рд╕реБрдВрджрд░рдо рдЫрд▓рдиреА ред рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рд╢рд╛рдпрдж
рдПрдЯрдХрд┐рди рдЫрд▓рдиреА рдЦреБрдж рдХреЛ рдмреЗрд╣рддрд░ рджрд┐рдЦрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧреА - рдпрд╣ рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ рдЬреЛ рдЖрдзреБрдирд┐рдХ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
* - рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЬреНрдЮрд╛рддред
рд╣реЗрд▓рд╛рд╡рд┐рди рдиреЗ рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдХрд╣рд╛ рдХрд┐ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдХреНрдпрд╛ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпреБрдкреАрдбреАрд╕реНрдореГрддрд┐ рдХреА рдЦрдкрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╡рд░реНрдгрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:
1 рдорд┐рд▓рд┐рдпрди рдкреНрд░рд╛рдЗрдореНрд╕, рдЕрдзрд┐рдХрддрдо рд░реИрдо
- рдЬрд╛рдирд╡рд░ рдмрд▓ рд╡рд┐рднрдХреНрдд: ~ 4Mb
- рдПрд░рд╛рдЯреЛрд╕реНрдердиреАрдЬ рдХреА рд╕рдВрд╢реЛрдзрд┐рдд рдЫрд▓рдиреА: ~ 6Mb
10 рдорд┐рд▓рд┐рдпрди рдкреНрд░рд╛рдЗрдо, рдЕрдзрд┐рдХрддрдо рд░реИрдо
- рдЬрд╛рдирд╡рд░ рдмрд▓ рд╡рд┐рднрдХреНрдд: ~ 39Mb
- рдПрд░рд╛рдЯреЛрд╕реНрдердиреАрдЬ рдХреА рд╕рдВрд╢реЛрдзрд┐рдд рдЫрд▓рдиреА: ~ 61Mb