рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реЛрдЪ: рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕реЛрдЪрдирд╛, рднрд╛рдЧ 2


рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ , рдореИрдВрдиреЗ рдЬрд╛рд╡рд╛ рдФрд░ рдЕрдиреНрдп, рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЗрди рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддреЗ рд╣реБрдП рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЪрд░реНрдЪрд╛ рд╢реБрд░реВ рдХреАред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдЕрдкрдиреА рд╕рдореАрдХреНрд╖рд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛, рдкрд╣рд▓реА рдХрдХреНрд╖рд╛ рдХреА рд╡рд╕реНрддреБрдУрдВ, рдЕрдиреБрдХреВрд▓рди рдФрд░ рдмрдВрдж рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рд╖рдп рдирд┐рдпрдВрддреНрд░рдг рд╣реИ: рдЬрдм рдЖрдк рдЗрд╕реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрдм рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЬрдм рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рд╕реНрдХреЛрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдХрд╛рд░реНрдп рдФрд░ рдирд┐рдпрдВрддреНрд░рдг


рдлрд╝рдВрдХреНрд╢рдирд▓ рдЬрд╛рд╡рд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП isFactor () рдФрд░ factorOf () рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдирдВрдмрд░ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдерд╛, рдЬреИрд╕рд╛ рдХрд┐ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 1 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 1. рдирдВрдмрд░ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕рдВрд╕реНрдХрд░рдг
import fj.F; import fj.data.List; import static fj.data.List.range; import static fj.function.Integers.add; import static java.lang.Math.round; import static java.lang.Math.sqrt; public class FNumberClassifier { public boolean isFactor(int number, int potential_factor) { return number % potential_factor == 0; } public List<Integer> factorsOf(final int number) { return range(1, number+1).filter(new F<Integer, Boolean>() { public Boolean f(final Integer i) { return number % i == 0; } }); } public int sum(List<Integer> factors) { return factors.foldLeft(fj.function.Integers.add, 0); } public boolean isPerfect(int number) { return sum(factorsOf(number)) - number == number; } public boolean isAbundant(int number) { return sum(factorsOf(number)) - number > number; } public boolean isDeficiend(int number) { return sum(factorsOf(number)) - number < number; } } 

isFactor() рдФрд░ factorOf() рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ, рдореИрдВрдиреЗ рдПрдХ рдмрд╛рдИрдкрд╛рд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рджрд┐рдпрд╛, рдЬреЛ рд╕реНрд╡рдпрдВ рдирд┐рд░реНрдгрдп рд▓реЗрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рд╢реНрд░реЗрдгреА рдХреЛ рдХреИрд╕реЗ рджрд░рдХрд┐рдирд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрджрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ (рдпрд╛ рд╕реНрд╡рдпрдВ рднрд╛рд╖рд╛, рдпрджрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рдХреНрд▓реЛрдЭрд░ рдФрд░ рд╕реНрдХрд╛рд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ) рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдЖрдк рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдФрд░ рдпрджреНрдпрдкрд┐ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдЖрдк рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рджреВрд╕рд░реЛрдВ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдлрд┐рд░ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдФрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдореБрдЦреНрдп рдкреНрд░рд╡реГрддреНрддрд┐ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИред рд╕рдордп рдХреЗ рд╕рд╛рде, рдбреЗрд╡рд▓рдкрд░ рд╡рд┐рд╡рд░рдг рд╕реЗ рддреЗрдЬреА рд╕реЗ рдЕрдореВрд░реНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдордВрдЪ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЬреЗрд╡реАрдПрдо рдореЗрдВ рд╕реНрдореГрддрд┐ рдкреНрд░рдмрдВрдзрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрднреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдордВрдЪ рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдХрдИ рдмрд╛рд░, рдпрд╣ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирд╛ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрди рд▓рд╛рднреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдордЭреМрддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд░реЛрдЬрдорд░реНрд░рд╛ рдХреЗ рдХреЛрдб рд▓реЗрдЦрди рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╣реЛрддрд╛ рд╣реИ: рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдп рдФрд░ рдлрд╝рдВрдХреНрд╢рди - рдСрдмреНрдЬреЗрдХреНрдЯ, рдореБрдЭреЗ рдЕрдореВрд░реНрдд рд╕реАрдврд╝реА рдореЗрдВ рдПрдХ рдХрджрдо рдЕрдзрд┐рдХ рдЬрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдб рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЬрд╛рд╡рд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рднреА, рдЬрд╛рд╡рд╛ рдореЗрдВ рдЗрд╕ рд╢реИрд▓реА рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрдЬреАрдм рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рднрд╛рд╖рд╛ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

рдХреНрд▓реЛрдЬрд░ рдореЗрдВ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░

рдХреНрд▓реЛрдЬрд░ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд▓рд┐рд╕реНрдк рд╣реИ рдЬрд┐рд╕реЗ рдЬреЗрд╡реАрдПрдо рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрд▓реЛрдЬрд░ рдореЗрдВ рд▓рд┐рдЦрд┐рдд рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╡рд░реНрдЧреАрдХрд░рдг рдХреЛ рджреЗрдЦреЗрдВ - рд╕реВрдЪреА 2

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 2. рд╕рдВрдЦреНрдпрд╛ рд╡рд░реНрдЧреАрдХрд░рдг рдХреЗ рдХреНрд▓реЛрдЬрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
 (ns nealford.perfectnumbers) (use '[clojure.contrib.import-static :only (import-static)]) (import-static java.lang.Math sqrt) (defn is-factor? [factor number] (= 0 (rem number factor))) (defn factors [number] (set (for [n (range 1 (inc number)) :when (is-factor? n number)] n))) (defn sum-factors [number] (reduce + (factors number))) (defn perfect? [number] (= number (- (sum-factors number) number))) (defn abundant? [number] (< number (- (sum-factors number) number))) (defn deficient? [number] (> number (- (sum-factors number) number))) 

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 2 рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪреАрдЬреЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддреА рд╣реИрдВ, рднрд▓реЗ рд╣реА рдЖрдк рдПрдХ рдХрдареЛрд░ рд▓рд┐рд╕реНрдк рдбреЗрд╡рд▓рдкрд░ рди рд╣реЛрдВ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрджрд┐ рдЖрдк рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдмрд╛рд╣рд░ рдкрдврд╝рдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, is-factor? рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рд░рдХ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╡рд┐рднрд╛рдЬрди рдХрд╛ рд╢реЗрд╖ рд╢реВрдиреНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдЗрд╕ рддрд░рд╣, perfect? рддрд░реАрдХреЗ perfect? , abundunt? рдФрд░ deficient? рд╕рдордЭрдиреЗ рдореЗрдВ рднреА рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк рдЬрд╛рд╡рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 1 рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред

sum-factor рд╡рд┐рдзрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд reduce рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред sum-factor рдлрд╝рдВрдХреНрд╢рди (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ +) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рдордп рдореЗрдВ рдПрдХ рддрддреНрд╡ рдХреА рд╕реВрдЪреА рдХреЛ рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдо рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдФрд░ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд░реВрдкреЛрдВ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рд╣реИред Listing 1 рдореЗрдВ, рдЖрдкрдиреЗ рдЗрд╕реЗ foldLeft() рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ред рдХрд╛рд░рдХ рд╡рд┐рдзрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд▓реМрдЯрд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рддрддреНрд╡ рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╕реЗ рдШрдЯрдХрд░ рд░рд╛рд╢рд┐ рдХрдо рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рддрд╛ рд╣реВрдВред рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдЙрдЪреНрдЪ рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ - рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рдЖрджреА рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╢реЛрд░ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

factors() рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд▓рдЧ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдареАрдХ рд╕реЗ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдиреЗ рдПрдХ рдмрд╛рд░ рд╕реВрдЪреА рдХреА рд╕рдордЭ рдХреЛ рджреЗрдЦрд╛, рдЬреЛ рдХреНрд▓реЛрдЬрд░ рдХреА рдХрдИ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рдХрд╛рд░рдХ рд╡рд┐рдзрд┐ рдХреЛ рд╕рдордЭрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рднреАрддрд░ рд╕реЗ рд╣реИред рдЙрд╕ рднрд╛рд╖рд╛рдИ рд╢рдмреНрджрд╛рд╡рд▓реА рд╕реЗ рднреНрд░рдорд┐рдд рди рд╣реЛрдВ рдЬреЛ рдЖрдкрдХреЛ рд╕реНрддреВрдк рдореЗрдВ рд▓реЗ рдЬрд╛рддреА рд╣реИред рд▓реВрдк рдореЗрдВ рдХреАрд╡рд░реНрдб рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ - рд▓реВрдк рдХреЗ рд▓рд┐рдПред рдЗрд╕реЗ рд╕рднреА рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдФрд░ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдорд┐рдВрдЧ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдкреВрд░реНрд╡рдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪреЗрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдЗрд╕реЗ is-factor? рд╡рд┐рдзреЗрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 1 рд╕реЗ рд╕рдВрдЦреНрдпрд╛ (рд╕рдВрдЦреНрдпрд╛ + 1) рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВ is-factor? рд╡рд╣ рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рд╢рд░реНрдд рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИред рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдЬреЛ рдореЗрд░реЗ рдорд╛рдирджрдВрдбреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдЯ рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВред

рдЖрдкрдХреЛ рд╕реАрдЦрдиреЗ рдореЗрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЙрдирдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рд╕рдордЭ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реА рд╢рд╛рдВрдд рдЪреАрдЬреЗрдВ рдорд┐рд▓рддреА рд╣реИрдВред

рдЕрдиреБрдХреВрд▓рди

рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╢реИрд▓реА рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рд▓рд╛рднреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рднрд╛рд╖рд╛ рдпрд╛ рдврд╛рдВрдЪреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЖрдк рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдореИрдВрдиреЗ рдореЗрдореЛрд░реА рдореИрдиреЗрдЬрд░ рдХреЗ рдХрд╛рдо рдХреЗ рд╕рд╛рде рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рддрдВрддреНрд░ рдХреЗ рдЖрдВрддрд░рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХреА: рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп, рдЖрдкрдХреЗ рд▓рд┐рдП рдЗрди рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рди рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЖрдк рдЗрд╕ рдмрд╛рдд рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдиреБрдХреВрд▓рди рдФрд░ рдкрд╕рдВрдж рд╣реИред

рдирдВрдмрд░ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдХреЗ рджреЛ рдЬрд╛рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ, рдЬреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рджрд┐рдЦрд╛рдП рдереЗ, рдореИрдВрдиреЗ рд╡рд┐рднрд╛рдЬрдХреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ред рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рд░рд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдиреЗ рдореЙрдбреНрдпреВрд▓ рдСрдкрд░реЗрдЯрд░ (%) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬреЛ рдХрд┐ рдПрдХ рд╡рд┐рднрд╛рдЬрдХ рд╣реИ, рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, 2 рд╕реЗ рджрд┐рдП рдЧрдП рдирдВрдмрд░ рдХреА рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдмреЗрддрд╣рд╛рд╢рд╛ рдЕрдХреНрд╖рдо рд╣реИред рдЖрдк рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдпрд╣ рдзреНрдпрд╛рди рджреЗрдХрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдбрд┐рд╡рд╛рдЗрдбрд░ рд╣рдореЗрд╢рд╛ рдЬреЛрдбрд╝реЗ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рд╡рд┐рднрд╛рдЬрдХ реи are рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЬрдм рдЖрдк реи рдкрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк резрек рднреА рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╡рд┐рднрд╛рдЬрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд┐рдпреЛрдВ рдореЗрдВ рдЬрдорд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рджрд┐рдП рдЧрдП рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╡рд░реНрдЧрдореВрд▓ рддрдХ рдХреЗ рдЕрдВрдХреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреА рд╣реЛрдЧреАред

рдЕрдиреБрдХреВрд▓рди рдЬреЛ рдЬрд╛рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдерд╛, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЬрд╛рд╡рд╛ рдореЗрдВ рдЕрд╕рдВрднрд╡ рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕реАрдзреЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реЛрдЪ рдХреЗ рдорд╛рд░реНрдЧ рдХреЛ рд╣рдореЗрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рджреВрд╕рд░реЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред

рдореИрдВ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╢реИрд▓реА рдореЗрдВ рдореВрд▓ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ: рдПрдХ рджрд┐рдП рдЧрдП рдирдВрдмрд░ рд╕реЗ 1 рд╕реЗ рд╕рднреА рд╡рд┐рднрд╛рдЬрдХреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВ, рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдЬреЛ isFactor рд╡рд┐рдзреЗрдп рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 3 рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 3. TheFactor () рд╡рд┐рдзрд┐
 public List<Integer> factorsOf(final int number) { return range(1, number+1).filter(new F<Integer, Boolean>() { public Boolean f(final Integer i) { return number % i == 0; } }); } 

рдЕрдкрдиреЗ рд▓рд╛рд▓рд┐рддреНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╕реВрдЪреА 3 рдореЗрдВ рдХреЛрдб рдмрд╣реБрдд рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рд░ рдирдВрдмрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрдиреБрдХреВрд▓рди рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ (1 рд╕реЗ рд╡рд░реНрдЧрдореВрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗ рдореЗрдВ рдбрд┐рд╡рд╛рдЗрдбрд░ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛), рдореИрдВ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:
  1. рдХрд┐рд╕реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╡рд░реНрдЧрдореВрд▓ рдХреЛ 1 рд╕реЗ рд╕рднреА рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░реЗрдВред
  2. рджрд┐рдП рдЧрдП рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рднрдХреНрдд рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рдпреБрдЧреНрдордХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рд╡рд┐рднрдХреНрддреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред

рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде, рдореИрдВ рдлрдВрдХреНрд╢рдирд▓ рдЬрд╛рд╡рд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлреИрдХреНрдЯреНрд╕рдСрдл () рдкрджреНрдзрддрд┐ рдХрд╛ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 4 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 4. рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд╛рд░рдХреЛрдВ-рдЦреЛрдЬ рд╡рд┐рдзрд┐
 public List<Integer> factorsOfOptimzied(final int number) { List<Integer> factors = range(1, (int) round(sqrt(number)+1)) .filter(new F<Integer, Boolean>() { public Boolean f(final Integer i) { return number % i == 0; }}); return factors.append(factors.map(new F<Integer, Integer>() { public Integer f(final Integer i) { return number / i; }})) .nub(); } 

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 4 рдореЗрдВ рдХреЛрдб рдкрд╣рд▓реЗ рд╡рд░реНрдгрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЬрд╛рд╡рд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдереЛрдбрд╝рд╛ рджреВрд╖рд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИред рдкрд╣рд▓реЗ рдореИрдВ рджрд┐рдП рдЧрдП рдирдВрдмрд░ 1 рдХреЗ рд╡рд░реНрдЧрдореВрд▓ рд╕реЗ рд▓реЗрдХрд░ 1 рдирдВрдмрд░ рддрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓реЗрддрд╛ рд╣реВрдВ (рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореБрдЭреЗ рд╕рднреА рднрд╛рдЬрдХ рдорд┐рд▓рддреЗ рд╣реИрдВ)ред рдлрд┐рд░, рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддрд░рд╣, рдореИрдВ рдПрдХ рдХреЛрдб рдмреНрд▓реЙрдХ рдореЗрдВ рд▓рд┐рдкрдЯреЗ рдореЙрдбреНрдпреВрд▓ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рдЗрд╕ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдП рдЧрдП рдкрд░рд┐рдгрд╛рдо рдХреЛ factors рдЪрд░ рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реВрдВред рдЕрдЧрд▓рд╛ (рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдВрджрд░ рд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ), рдореИрдВ рдбрд┐рд╡рд╛рдЗрдбрд░ рдХреА рдЗрд╕ рд╕реВрдЪреА рдХреЛ рд▓реЗрддрд╛ рд╣реВрдВ рдФрд░ map() рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдПрдХ рдирдИ рд╕реВрдЪреА рдмрдирд╛рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдХреЛрдб рдмреНрд▓реЙрдХ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рдирдП рдореВрд▓реНрдп рдкрд░ рдореИрдк рдХрд░рддрд╛ рд╣реИ)ред рднрд╛рдЬрдХ рдХреА рдореЗрд░реА рд╕реВрдЪреА рдореЗрдВ рд╡рд░реНрдЧрдореВрд▓ рд╕реЗ рдХрдо рджреА рдЧрдИ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рднреА рднрд╛рдЬрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ; рдЕрдм рдореБрдЭреЗ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рджреА рдЧрдИ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдордорд┐рдд рд╡рд┐рднрд╛рдЬрдХреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдореВрд▓ рд╕реВрдЪреА рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ, рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореИрдВ рд╕реВрдЪреА рдореЗрдВ рд╡рд┐рднрд╛рдЬрдХ рд░рдЦрддрд╛ рд╣реВрдВ, рд╕реЗрдЯ рдореЗрдВ рдирд╣реАрдВред рд╕реВрдЪреА рдХреЗ рддрд░реАрдХреЗ рдкрд╣рд▓реЗ рдХрд┐рдП рдЧрдП рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдПрдХ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рд╣реИ: рд╡рд┐рднрд╛рдЬрдХреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рд╡рд░реНрдЧрдореВрд▓ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдкрд░ рдПрдХ рддрддреНрд╡ рдХреЛ рджреЛ рдмрд╛рд░ рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╕рдВрдЦреНрдпрд╛ 16 рд╣реИ, рддреЛ 4 рдХрд╛ рд╡рд░реНрдЧрдореВрд▓ рджреЛ рдмрд╛рд░ рдбрд┐рд╡рд╛рдЗрдбрд░ рдХреА рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реВрдЪреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд╕рднреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ nub() рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЬреИрд╕реЗ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЕрдореВрд░реНрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЛ рдЬрд╛рдирдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЫреЛрдЯреА рдЪреАрдЬрд╝реЛрдВ рдкрд░ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЬрд╛рд╡рд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЖрд╡рд╢реНрдпрдХ рд╕реНрддрд░ рддрдХ рдиреАрдЪреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рднреА - рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рд╡рд░рдг рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдореВрд░реНрддрддрд╛ рдХреЗ рд╡рд┐рд╡реЗрдХ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдЬрдм рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрддреЗ рд╣реИрдВред

рдХреЛрдб рдХреЗ рдКрдкрд░ рдЬреЛ рдореИрдВрдиреЗ рдЙрджреНрдзреГрдд рдХрд┐рдпрд╛, рдмреНрд▓реЙрдХ рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рд╣рд╛рд╡реА рд╣реИ, рдЬреЛ рдХреЛрдб рдХреЗ рдЫрджреНрдо рдмреНрд▓реЙрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдФрд░ рдЕрдирд╛рдо рдиреЗрд╕реНрдЯреЗрдб рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдХреНрд▓реЛрдЬрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рдХреА рд╕рдмрд╕реЗ рдЖрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВред рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧреА рдмрдирд╛рддрд╛ рд╣реИ?

рдмрдВрджреЛрдВ рдореЗрдВ рдРрд╕рд╛ рдХреНрдпрд╛ рдЦрд╛рд╕ рд╣реИ?


рдПрдХ рдХреНрд▓реЛрдЬрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬреЛ рдЗрд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдЪрд░ рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдирд┐рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдПрдХ рдлрд╝рдВрдХреНрд╢рди (рдпрд╛ рд╡рд┐рдзрд┐) рдЬреЛ рдЖрд╕рдкрд╛рд╕ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдХреИрдкреНрдЪрд░ рдФрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ *ред рдХреНрд▓реЛрдЬрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рдФрд░ рдЪреМрдЦрдЯреЗ рдореЗрдВ рдкреЛрд░реНрдЯреЗрдмрд▓ рдирд┐рд╖реНрдкрд╛рджрди рддрдВрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдкрд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдорд╛рдирдЪрд┐рддреНрд░ ()ред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЬрд╛рд╡рд╛ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдХреНрд▓реЛрдЬрд░ рдХреЗ рдХреБрдЫ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирд╛рдо рдЖрдВрддрд░рд┐рдХ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдмрд╛рдж рдХреА рдкреВрд░реНрдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд╛рд╡рд╛ рдХреНрд▓реЛрдЬрд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?

5 рдХреА рд╕реВрдЪреА рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддреА рд╣реИ рдЬреЛ рдХреНрд▓реЛрдЬрд░ рдХреЛ рд╡рд┐рд╢реЗрд╖ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдЧреНрд░реВрд╡реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд╕реАрдзреЗ рдмрдВрдж рд╣реЛрдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 5. рдЧреНрд░реВрд╡реА рдХреЛрдб рдЪрд┐рддреНрд░рдг рдХреНрд▓реЛрдЬрд░
 def makeCounter() { def very_local_variable = 0 return { return very_local_variable += 1 } } c1 = makeCounter() c1() c1() c1() c2 = makeCounter() println "C1 = ${c1()}, C2 = ${c2()}" // output: C1 = 4, C2 = 1 

makeCouner() рд╡рд┐рдзрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХрд╛ рдПрдХ рдЦрдВрдб рд▓реМрдЯрд╛рддреА рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ makeCounter() рд╡рд┐рдзрд┐ рдХреЛрдб рдХрд╛ рдПрдХ рдмреНрд▓реЙрдХ рд▓реМрдЯрд╛рддреА рд╣реИ, рдореВрд▓реНрдп рдирд╣реАрдВред рдпрд╣ рдХреЛрдб рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЗ рдорд╛рди рдХреЛ 1 рд╕реЗ рдмрдврд╝рд╛рдиреЗ рдФрд░ рдЙрд╕реЗ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рдХреЛрдб рдореЗрдВ рд░рд┐рдЯрд░реНрди рдХреЙрд▓ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдЬреЛ рдХрд┐ рдЧреНрд░реВрд╡реА рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХреЛрдб рдХрдо рд╕реНрдкрд╖реНрдЯ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред

makeCounter() рд╡рд┐рдзрд┐ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЪрд░ c1 рд▓рд┐рдП рдПрдХ рдмреНрд▓реЙрдХ рд╕рдВрджрд░реНрдн рджрд┐рдпрд╛, рдлрд┐рд░ рдЗрд╕реЗ 3 рдмрд╛рд░ рдмреБрд▓рд╛рдпрд╛ред рдореИрдВ рдПрдХ рдЪрд░ рдХреЗ рдмрд╛рдж рдХреЛрд╖реНрдардХ рд░рдЦрдиреЗ рд╕реЗ рдпреБрдХреНрдд рдХреЛрдб рдХреЗ рдПрдХ рдмреНрд▓реЙрдХ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреНрд░реВрд╡реА рд╕рд┐рдВрдЯреИрдХреНрдЯрд┐рдХ рдЪреАрдиреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдлрд┐рд░ рдореИрдВ makeCounter() рдлрд┐рд░ рд╕реЗ makeCounter() рд╣реВрдВ, C2 рдХреЛ рдХреЛрдб рдмреНрд▓реЙрдХ рдХрд╛ рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реВрдВред рдЕрдВрдд рдореЗрдВ, рдореИрдВ C2 рдХреЛ C2 рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЛрдб рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ, very_local_variable рдЪрд░ рдХреЗ рдПрдХ рдЕрд▓рдЧ рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рдорди рдореЗрдВ рдерд╛ рдЬрдм рдпрд╣ рд╕рдВрджрд░реНрдн рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИред рд╡рд┐рдзрд┐ рдХреЗ рдЕрдВрджрд░ рдЪрд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╕реНрдкрд╖реНрдЯ рдЗрд▓рд╛рдХреЗ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдмрдВрдж рдЕрднреА рднреА рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рд░рд╛рдЬреНрдп рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред "

рдЬрд╛рд╡рд╛ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдирд┐рдХрдЯрддрдо рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реВрдЪреА 6 рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 6. рдЬрд╛рд╡рд╛ рдореЗрдВ рдореЗрдХ рдПрдирдХрд╛рдЙрдВрдЯрд░
 public class Counter { private int varField; public Counter(int var) { varField = var; } public static Counter makeCounter() { return new Counter(0); } public int execute() { return ++varField; } } 

рдХрд╛рдЙрдВрдЯрд░ рдХреНрд▓рд╛рд╕ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрднреА рднреА рд╕реНрд╡-рдкреНрд░рдмрдВрдз рд░рд╛рдЬреНрдп рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрд▓реЛрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реЛрдЪ рдореЗрдВ рдХреНрдпреЛрдВ рдпреЛрдЧрджрд╛рди рджреЗрддрд╛ рд╣реИ: рдпрд╣ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рд░рд╛рдЬреНрдп рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЦреЗрддреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рд░рд╛рдЬреНрдп рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп (рдПрдХ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рднрдпрд╛рдирдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╕рд╣рд┐рдд), рдпрд╣ рднрд╛рд╖рд╛ рдпрд╛ рдврд╛рдВрдЪреЗ рдХреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЕрднреА рднреА рдЬрд╛рд╡рд╛ рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдХреНрд▓реЛрдЬрд░ рд╣реЛрдВрдЧреЗ (рдЬрд┐рд╕рдХреА рдЪрд░реНрдЪрд╛, рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИ)ред рдЬрд╛рд╡рд╛ рдореЗрдВ рдХреНрд▓реЛрдЬрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рд▓рд╛рдПрдЧреАред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЙрдирдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рд╕реБрдзрд╛рд░ рдкрд░ рдХрд╛рдо рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рдЬреАрд╡рди рдХреЛ рдмрд╣реБрдд рд╕рд░рд▓ рдХрд░реЗрдЧрд╛ред рджреВрд╕рд░реЗ, рдпрд╣ JVM рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рд╕рднреА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХреНрд▓реЛрдЬрд╝рд░ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп "рдХреЙрдорди рдбрд┐рдиреЛрдорд┐рдиреЗрдЯрд░" рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдХрдИ рдЬреЗрд╡реАрдПрдо рднрд╛рд╖рд╛рдПрдВ рдмрдВрдж рд╣реЛрдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмреАрдЪ рдкрд╛рд╕рд┐рдВрдЧ рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдЬрд╛рд╡рд╛ рд╕реНрд╡рдпрдВ рдПрдХ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЕрдиреНрдп рд╕рднреА рднрд╛рд╖рд╛рдПрдБ рдЗрд╕рдХрд╛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВрдЧреАред

рдирд┐рд╖реНрдХрд░реНрд╖


рдХрд┐рд╕реА рднрд╛рд╖рд╛ рдпрд╛ рдврд╛рдВрдЪреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд╡рд┐рд╡рд░рдгреЛрдВ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╡реГрддреНрддрд┐ рд╣реИред рд╣рдо рдЦрд╝реБрд╢реА рд╕реЗ рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдг, рд╕реНрдореГрддрд┐ рдкреНрд░рдмрдВрдзрди рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЕрдВрддрд░ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд▓реЗрддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрдореВрд░реНрддрддрд╛ рдХреЗ рдПрдХ рдирдП рд╕реНрддрд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ: рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐, рд╕рдорд╛рдирддрд╛ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд░рд╛рдЬреНрдп рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рд╡рд░рдг рд╕рдВрднрд╡ рд╣рдж рддрдХред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЖрдк рдирд┐рдпрдВрддреНрд░рдг рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ - рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдордЬрдмреВрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрдЧрд▓реЗ рдЕрдВрдХ рдореЗрдВ, рдореИрдВ рдЬрд╛рд╡рд╛ рдФрд░ рдЗрд╕рдХреЗ рдХрд░реАрдмреА рд░рд┐рд╢реНрддреЗрджрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд░реА рдФрд░ рдЖрдВрд╢рд┐рдХ рд╡рд┐рдзрд┐ рдЖрд╡реЗрджрди рдХреЗ рд╡рд░реНрдгрди рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреА рдпрд╛рддреНрд░рд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ред

рдиреЛрдЯ

* - рдпрд╣рд╛рдБ рд▓реЗрдЦрдХ рдХреЛ рдЕрдХрд╛рджрдорд┐рдХ рд╢рдмреНрджрд╛рд╡рд▓реА рдХрд╛ рдЕрддреНрдпрдзрд┐рдХ рдЬреНрдЮрд╛рди рд╣реИред рд╣рдо рдПрдХ рд▓рдВрдмреЛрджрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдореЗрдВ рдореБрдлреНрдд рдЪрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдПрд╕рдПрдлрдкреА рдореЗрдВ рд▓реЗрдЦ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиреЛрдВ рдореЗрдВ рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрдВрддрд░реНрдЬреНрдЮрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореБрдХреНрдд рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░ рдХреА рдПрдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдФрдкрдЪрд╛рд░рд┐рдХ рдкрд░рд┐рднрд╛рд╖рд╛ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд▓реЗрдЦ рдореЗрдВ рджреА рдЧрдИ рд╣реИред

рдкреБрдирд╢реНрдЪ рдЕрдиреБрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж CheatEx ред

Source: https://habr.com/ru/post/In130830/


All Articles