
рдЬреИрд╕рд╛ рдХрд┐ рд╣рд░ рдХреЛрдИ n- рдмрд┐рдЯреНрд╕ рдХреА рдорджрдж рд╕реЗ рдЬрд╛рдирддрд╛ рд╣реИ, рдЖрдк рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ 2
n -1 рддрдХ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╕рдВрд╕рд╛рдзрди рд╣реИрдВ, рдпрд╛ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдореЗрдВ рдЕрдиреБрдХреНрд░рдореЛрдВ, рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ, рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рдФрд░ рдХрд╛рдЙрдВрдЯрд░ рд╡реГрджреНрдзрд┐ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдФрд░ рд╕рдВрдпреЛрдЬрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдкреВрдЫрддрд╛ рд╣реВрдВ ред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рддрдерд╛рдХрдерд┐рдд рд╕рдВрднрд╛рд╡реНрдп рдХрд╛рдЙрдВрдЯрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд░реЙрдмрд░реНрдЯ рдореЙрд░рд┐рд╕ рджреНрд╡рд╛рд░рд╛ 1977 рдореЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдмреЗрд▓реНрд▓рд╛рдмреНрд╕ рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд░ рдереЗ, рдЬреЛ рдЕрдкрдиреЗ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХреЗ рд▓рд┐рдП рдЬрд╛рдиреЗ рдЬрд╛рддреЗ рдереЗ
"рдХрдВрдкреНрдпреВрдЯрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рддреАрди рд╕реНрд╡рд░реНрдг рдирд┐рдпрдо: рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдорд╛рд▓рд┐рдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕реЗ рдЪрд╛рд▓реВ рди рдХрд░реЗрдВ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред"
рдореАрдЯрд░ рд╡рд┐рд╡рд░рдг
рд╣рдо рдЕрдкрдиреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдЯреА рдмрд┐рдЯреНрд╕ рд╣реИред
рд╣рдо рдХреБрдЫ рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рдмрдврд╝рддреЗ рдЕрдиреБрдХреНрд░рдо n
i рдЪреБрдирддреЗ рд╣реИрдВ (i 0 рд╕реЗ 2
t - 1 рдХреА рд╕реАрдорд╛ рдореЗрдВ рд╣реИ), рдереЛрдбрд╝рд╛ рдЖрдЧреЗ рдЬрд╛рдХрд░ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ n
i рдХреЗ рдорд╛рди рд╣рдорд╛рд░реЗ рдХрд╛рдЙрдВрдЯрд░ рдорд╛рди рд╣реЛрдВрдЧреЗред
рдЕрдм рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ 1 рдореЗрдВ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рдЬреЛрдбрд╝рдиреЗ рдкрд░ 1 / (n
i + 1 - n
i ) рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ рдЕрдиреБрдХреНрд░рдо n
i = i
2 рд╣реИ , рдлрд┐рд░ 8 рд╕реЗ рдХрд╛рдЙрдВрдЯрд░ рдмрдврд╝рд╛рдиреЗ рдкрд░ 1 / (16-8) = 0.125 рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рд╕рдЪ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, n
i рд╕реЗ n
i + 1 рддрдХ рдХрд╛ рдХрд╛рдЙрдВрдЯрд░ n
i + 1 рд╕реЗ рдФрд╕рддрди рдмрдврд╝ рдЬрд╛рдПрдЧрд╛ - n
i рд╕рдВрдЪрд╛рд▓рди
рдПрдХ рд╕рдВрднрд╛рд╡реНрдп рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ n
i = i рд╣реИ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдХрд╛рдЙрдВрдЯрд░ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ 1 рд╣реЛрдЧреА
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдЕрдм рдЗрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
рд╣рдо рдЗрд╕реЗ рдЬрд╛рд╡рд╛ рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗред
рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ 8GB рдХреА рдирд┐рд░рдВрддрд░ рдореЗрдореЛрд░реА рд╣реИред рдЪреВрдВрдХрд┐ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рд╕реНрдХреЛрд░ рдХреЛ 127 рддрдХ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред
рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рд╕ рдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдЙрд╕рдХреА рдкрд╕рдВрдж рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдХрд┐рддрдиреЗ рд╕рдордп рддрдХ рдореАрдЯрд░ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдЖрдк рд╕рдЯреАрдХрддрд╛ рдХрд╛ рдмрд▓рд┐рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред рдЖрдкрдХреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреВрд░реНрдгрд╛рдВрдХ рдЖрд░реЛрд╣реА рдХреНрд░рдо рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЙрдиреНрд╣реЗрдВ
рдСрдирд▓рд╛рдЗрди рдЕрдиреБрдХреНрд░рдо рд╡рд┐рд╢реНрд╡рдХреЛрд╢ рдореЗрдВ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо
рдлрд╛рдЗрдмреЛрдиреИрдЪрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдФрд░
рд╡рд░реНрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рд╣рдорд╛рд░реЗ рджреЛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╣реЛрдВрдЧреЗред рдкрд╣рд▓рд╛ рдХрд╛рдЙрдВрдЯрд░ рдмрдврд╝рд╛рдПрдЧрд╛, рджреВрд╕рд░рд╛ рдЕрдиреБрдХреНрд░рдо рдХрд╛ i-th рдирдВрдмрд░ рд▓реМрдЯрд╛рдПрдЧрд╛ред
private byte counter = 0; public void increase(){ Random rand = new Random(); int randNumber = rand.nextInt(getElementSequence(counter + 1) - getElementSequence(counter)); if(randNumber == 0) counter++; }
рдпрд╣рд╛рдВ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рдЙрдВрдЯрд░ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рдЙрдВрдЯрд░ рдЕрдиреБрдХреНрд░рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдИ-рд╡реЗрдВ рддрддреНрд╡ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬреЛ рдШрдЯрдирд╛ рдХреА рд╕рдлрд▓рддрд╛ рдпрд╛ рд╡рд┐рдлрд▓рддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рд╕реНрдХреНрд╡реЗрд░реНрдб рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдХреНрд░рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
private int getElementSequence(int number){ return (int) Math.pow(number, 2); }
рд▓реЗрдХрд┐рди рдлрд╛рдЗрдмреЛрдиреИрдЪрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╕реЗ
private int getElementSequence(int number){ int sumFib = 1; int previousElement = 0; int temp; for(int i = 0; i < number + 1; i++){ temp = sumFib; sumFib = sumFib + previousElement; previousElement = temp; } return sumFib; }
рд╣рдо рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЪрдХреНрд░ рдореЗрдВ рдХрд╛рдЙрдВрдЯрд░ рд╡реГрджреНрдзрд┐ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддреЗ рд╣реИрдВ, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ 10,000 рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдореЗрдВред
public static void main(String[] args) { TestApproximateCounting test = new TestApproximateCounting(); for(int i=0; i<10000; i++){ test.increase(); }; }
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдирд╛
рдкреНрд░рддреНрдпреЗрдХ рдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ 10,000 рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ 10 рд░рди рдЦрд░реНрдЪ рдХрд┐рдП
рдирдВрдмрд░ рдЪрд▓рд╛рдПрдВ | рдЪреБрдХрддрд╛ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░ рдореВрд▓реНрдп | рд╡рд░реНрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ | рдлрд┐рдмреЛрдирд╛рдЪреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░ рдореВрд▓реНрдп | рдлрд╛рдЗрдмреЛрдиреИрдЪрд┐ рд╕рдВрдЦреНрдпрд╛ |
---|
1 | 93 | 8 649 рд╣реИ | 20 | 6 765 |
2 | 111 | 12 321 | 20 | 6 765 |
3 | 105 | резрез режреирел | 20 | 6 765 |
4 | 103 | резреж ремреж реп | 21 | резреж реп рекрем |
5 | 96 | 9216 | 21 | резреж реп рекрем |
6 | 94 | 8 836 | 22 | 17 711 |
7 | 93 | ремрей реп | 19 | 4 181 |
8 | 106 | 11236 | 19 | 4 181 |
9 | 104 | резреж 10резрем | 21 | резреж реп рекрем |
10 | 94 | 8 836 | 20 | 6 765 |
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдмрд╣реБрдд рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдХреЛ 8 рдмрд┐рдЯреНрд╕ рдкрд░ 10,000 рд╕реЗ рдЕрдзрд┐рдХ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рдЙрдВрдЯрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред
рд╕рдВрджрд░реНрдн:
рдХреЛрд░рдореЗрди рдЯреАред, рд▓рд┐рд╕реЗрд░реНрд╕рди рд╕реАред, рд░рд┐рд╡реЗрд╕реНрдЯ рдЖрд░ред, рд╕реНрдЯреАрди рдХреЗред - рдПрд▓реНрдЧреЛрд░рд┐рджрдоред рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг - 2005
рдореЙрд░рд┐рд╕, рдЖрд░ред рдЫреЛрдЯреЗ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдШрдЯрдирд╛рдУрдВ рдХреА рдЧрд┐рдирддреАред рдПрд╕реАрдПрдо 21, 10 (1977), 840842 рдХрд╛ рд╕рдВрдЪрд╛рд░
рдпреБрдкреАрдбреАред рдЕрдиреБрд░реЛрдз рдкрд░, рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░ рдорд╛рди рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рджреЛ рдХреЙрд▓рдо рдЬреЛрдбрд╝реЗ, рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдХрд╛рдЙрдВрдЯрд░ рдХрд╛ рдореВрд▓реНрдп рдХрд╛рдЙрдВрдЯрд░ рд╕реЗ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдЗрдирдкреБрдЯ рдХрд╛рдЙрдВрдЯрд░ рдХреЗ рд╕рд╛рде getElementSequence рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред