рдЧреЛ рдореЗрдВ рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рдФрд░ рдЙрдирдХреА рд╡рд┐рдЪрд┐рддреНрд░рддрд╛рдПрдБ

рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реВрдк рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдпреЗ рджреЛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕рдордХрдХреНрд╖ рд╣реИрдВ?

		
if a > b && c*2 > d {
	....
}
// ╨╕
if a <= b  { 
  continue;
}
if c*2 > d {
 ....
}


рдпрд╣ рд╕рдм "рдорд╕реНрддрд┐рд╖реНрдХ рд╡рд╛рд░реНрдо-рдЕрдк" рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖ; рдореБрдЭреЗ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдо рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╖реНрдЯрддрдо рдЦреЛрдЬ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдирд╛ рдерд╛ [-x....x]ред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдпрджрд┐ рдХреЛрдИ рд╕рдВрдЦреНрдпрд╛ рд╕рдо рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдореИрдВ 1 рд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рдЧреБрдгрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдБ рддреЛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рддрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред


//╤Г ╤З╨╡╤В╨╜╤Л╤Е ╤З╨╕╤Б╨╡╨╗ ╨┐╨╛╤Б╨╗╨╡╨┤╨╜╨╕╨╣ ╨▒╨╕╤В ╨▓╤Б╨╡╨│╨┤╨░ ╤А╨░╨▓╨╡╨╜ 0
value & 1 == 0
//vs ╨║╨╗╨░╤Б╤Б╨╕╤З╨╡╤Б╨║╨╕╨╣ ╨╝╨╡╤В╨╛╨┤
value % 2 == 0

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


package main
import (
	"fmt"
	"log"
	"math"
	"math/rand"
	"time"
)
const size = 100000000 //math.MaxInt32*2
type Result struct {
	Name     string
	Duration time.Duration
	Value    int32
}

func main() {
	log.Println("initial array capacity: " + fmt.Sprint(size))
	var maxValue int32
        // ╨С╤Г╨┤╨╡╨╝ ╨▓╨░╤А╤М╨╕╤А╨╛╨▓╨░╤В╤М ╨┤╨╕╨░╨┐╨░╨╖╨╛╨╜ ╤З╨╕╤Б╨╡╨╗ ╨╛╤В ╨╝╨╕╨╜╨╕╨╝╨░╨╗╤М╨╜╨╛╨│╨╛ 
        // ╨┤╨╛ ╨╝╨░╨║╤Б╨╕╨╝╨░╨╗╤М╨╜╨╛╨│╨╛. ╨з╨╡╨╝ ╨╝╨╡╨╜╤М╤И╨╡ ╨┤╨╕╨░╨┐╨░╨╖╨╛╨╜, ╤В╨╡╨╝ ╨▒╨╛╨╗╤М╤И╨╡ 
        // ╨┐╤А╨╛╤Ж╨╡╤Б╤Б╨╛╤А╨╜╨╛╨│╨╛ ╨▓╤А╨╡╨╝╨╡╨╜╨╕ ╨▒╤Г╨┤╨╡╤В ╤Г╤Е╨╛╨┤╨╕╤В╤М ╨╜╨░ ╨╛╨┐╨╡╤А╨░╤Ж╨╕╤О 
        // ╤Б╤А╨░╨▓╨╜╨╡╨╜╨╕╤П ╤В╨╡╨║╤Г╤Й╨╡╨│╨╛ ╤З╨╕╤Б╨╗╨░, ╤Б ╤А╨░╨╜╨╡╨╡ ╨╜╨░╨╣╨┤╨╡╨╜╨╜╤Л╨╝ ╨╕ ╨╜╨░╨╛╨▒╨╛╤А╨╛╤В
	for maxValue = 128; maxValue < math.MaxInt32/2+1; maxValue = maxValue * 2 {
		test(maxValue)
	}
}

func test(maxValue int32) {
	log.Println("max threshold: " + fmt.Sprint(maxValue))
	arr := make([]int32, size)
	for i := range arr {
		arr[i] = rand.Int31n(maxValue)
                // ╨▓ ╤В╨╡╤Б╤В╨╛╨▓╤Л╤Е ╨┤╨░╨╜╨╜╤Л╤Е ╨╜╨░╨╝ ╨╜╤Г╨╢╨╜╤Л ╨╕ ╨╛╤В╤А╨╕╤Ж╨░╤В╨╡╨╗╤М╨╜╤Л╨╡ ╤З╨╕╤Б╨╗╨░ 
		sign := rand.Intn(2)
		if sign == 1 {
			arr[i] = -arr[i]
		}
	}

        // ╨╖╨░╨┐╤Г╤Б╨║╨░╨╡╨╝ ╤В╨╡╤Б╤В "╨┤╨╡╨╗╨╡╨╜╨╕╨╡ ╤Б ╨╛╤Б╤В╨░╤В╨║╨╛╨╝"
	result := maxEvenDividing("maxEvenDividing", arr)
	log.Printf(result.Name+"t result: "+fmt.Sprint(result.Value)+"ttduration %s", result.Duration)

        // ╨╖╨░╨┐╤Г╤Б╨║╨░╨╡╨╝ ╤В╨╡╤Б╤В "╨║╨╛╨╜╤К╤О╨╜╨║╤Ж╨╕╨╕"
	result = maxEvenConjunction("maxEvenConjunction", arr)
	log.Printf(result.Name+"t result: "+fmt.Sprint(result.Value)+"ttduration %s", result.Duration)
}

func maxEvenDividing(name string, arr []int32) Result {
	start := time.Now()
	var current int32 = math.MinInt32
	for _, value := range arr {
		if value > current && value%2 == 0 {
			current = value
		}
	}
	duration := time.Since(start)
	result := Result{name, duration, current}
	return result
}

func maxEvenConjunction(name string, arr []int32) Result {
	start := time.Now()
	var current int32 = math.MinInt32
	for _, value := range arr {
		if value > current && value&1 == 0 {
			current = value
		}
	}
	duration := time.Since(start)
	result := Result{name, duration, current}
	return result
}

рд╣рдореЗрдВ рдПрдХ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ рдЬреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рд╕реАрдорд╛ рдЬрд┐рддрдиреА рдЕрдзрд┐рдХ рд╣реЛрдЧреА, рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЙрддрд╛рд░-рдЪрдврд╝рд╛рд╡ рдЙрддрдирд╛ рд╣реА рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ред

рддреБрд▓рдирд╛max threshold: 128
maxEvenDividing result: 126 duration 116.0067ms
maxEvenConjunction result: 126 duration 116.0066ms

max threshold: 16384
maxEvenDividing result: 16382 duration 115.0066ms
maxEvenConjunction result: 16382 duration 111.0064ms

......

max threshold: 8388608
maxEvenDividing result: 8388606 duration 109.0063ms
maxEvenConjunction result: 8388606 duration 109.0062ms

max threshold: 16777216
maxEvenDividing result: 16777214 duration 108.0062ms
maxEvenConjunction result: 16777214 duration 109.0062ms

max threshold: 33554432
maxEvenDividing result: 33554430 duration 114.0066ms
maxEvenConjunction result: 33554430 duration 110.0063ms

max threshold: 67108864
maxEvenDividing result: 67108860 duration 111.0064ms
maxEvenConjunction result: 67108860 duration 109.0062ms

max threshold: 134217728
maxEvenDividing result: 134217726 duration 108.0062ms
maxEvenConjunction result: 134217726 duration 109.0063ms

max threshold: 268435456
maxEvenDividing result: 268435446 duration 111.0063ms
maxEvenConjunction result: 268435446 duration 110.0063ms

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рднрд┐рдиреНрди рд╕реАрдорд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реЗрдЯ рд╣реИрдВ, рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб (рдореЗрд░реЗ i5-2540M рд▓реИрдкрдЯреЙрдк рдкрд░) рд▓рдЧрднрдЧ 20..30% рднрд┐рдиреНрди рд╣реЛрддрд╛ рд╣реИ, GoLand рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХреА рдЧрдИ рдореЗрдореЛрд░реА рдФрд╕рддрди рд╣реЛрддреА рд╣реИ рд▓рдЧрднрдЧ 813рдПрдордмреА - рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЛ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реАрдорд╛ рдХреЗ рд▓рд┐рдП рд╕рднреА рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдФрд░ рдЕрдм, рдиреНрдпреВрдирддрдо рд▓рд╛рдЧрдд рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдм рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реБрдП, рдореИрдВ рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд╣реА рдХрд░ рджреЗрддрд╛ рд╣реВрдВ

		
if value > current && value&1 == 0 {
	current = value
}

рдкрд░

		
if value <= current {
        continue;
}
if value&1 == 0 {
	current = value
}

рдореИрдВ рдлрд┐рд░ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реВрдВ... рдФрд░ рдореБрдЭреЗ рдХреБрдЫ рднреА рд╕рдордЭ рдореЗрдВ рдЖрдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ :)

рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рдкреНрд░рддрд┐рд╢рдд рдХреЗ рдкреНрд░рддрд┐рд╢рдд/рдЕрдВрд╢реЛрдВ рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ 10..15% рд╕реЗ рднрд┐рдиреНрди рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реИред рдореИрдВ рдЬрд▓реНрджреА рд╕реЗ 2 рдФрд░ рдкрд░реАрдХреНрд╖рдг рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ:

		
func maxEvenDividing2(name string, arr []int32) Result {
	start := time.Now()
	var current int32 = math.MinInt32
	for _, value := range arr {
		if value <= current {
			continue
		}

		if value%2 == 0 {
			current = value
		}
	}
	duration := time.Since(start)
	result := Result{name, duration, current}
	return result
}

func maxEvenConjunction2(name string, arr []int32) Result {
	start := time.Now()
	var current int32 = math.MinInt32
	for _, value := range arr {
		if value <= current {
			continue
		}
		if value&1 == 0 {
			current = value
		}
	}
	duration := time.Since(start)
	result := Result{name, duration, current}
	return result
}

рдореИрдВ рдЗрд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдЪрд┐рддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВ:рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рд░рдгреА рдХреНрд╖рдорддрд╛: 100000000

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 128
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 126 рдЕрд╡рдзрд┐ 116.0066ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 126 рдЕрд╡рдзрд┐ 79.0045ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 126 рдЕрд╡рдзрд┐ 114.0065ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 126 рдЕрд╡рдзрд┐ 83.0048ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 256
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 254 рдЕрд╡рдзрд┐ 111.0063ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 254 рдЕрд╡рдзрд┐ 77.0044ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 254 рдЕрд╡рдзрд┐ 110.0063ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 254 рдЕрд╡рдзрд┐ 80.0046ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 512
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 510 рдЕрд╡рдзрд┐ 114.0066ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 510 рдЕрд╡рдзрд┐ 80.0045ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 510 рдЕрд╡рдзрд┐ 110.0063ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 510 рдЕрд╡рдзрд┐ 80.0046ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 1024
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 1022 рдЕрд╡рдзрд┐ 109.0063ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 1022 рдЕрд╡рдзрд┐ 77.0044ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 1022 рдЕрд╡рдзрд┐ 111.0063ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 1022 рдЕрд╡рдзрд┐ 81.0047ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 2048
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 2046 рдЕрд╡рдзрд┐ 114.0065ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 2046 рдЕрд╡рдзрд┐ 79.0045ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 2046 рдЕрд╡рдзрд┐ 113.0065ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 2046 рдЕрд╡рдзрд┐ 81.0046ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 4096
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 4094 рдЕрд╡рдзрд┐ 114.0065ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 4094 рдЕрд╡рдзрд┐ 80.0046ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 4094 рдЕрд╡рдзрд┐ 111.0063ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 4094 рдЕрд╡рдзрд┐ 78.0045ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 8192
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 8190 рдЕрд╡рдзрд┐ 107.0062ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 8190 рдЕрд╡рдзрд┐ 77.0044ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 8190 рдЕрд╡рдзрд┐ 111.0063ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 8190 рдЕрд╡рдзрд┐ 77.0044ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 16384
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 16382 рдЕрд╡рдзрд┐ 109.0063ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 16382 рдЕрд╡рдзрд┐ 77.0044ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 16382 рдЕрд╡рдзрд┐ 108.0062ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 16382 рдЕрд╡рдзрд┐ 77.0044ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 32768
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 32766 рдЕрд╡рдзрд┐ 112.0064ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 32766 рдЕрд╡рдзрд┐ 77.0044ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 32766 рдЕрд╡рдзрд┐ 109.0062ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 32766 рдЕрд╡рдзрд┐ 78.0045ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 65536
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 65534 рдЕрд╡рдзрд┐ 109.0062ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 65534 рдЕрд╡рдзрд┐ 75.0043ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 65534 рдЕрд╡рдзрд┐ 109.0063ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 65534 рдЕрд╡рдзрд┐ 79.0045ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 131072
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 131070 рдЕрд╡рдзрд┐ 108.0061ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 131070 рдЕрд╡рдзрд┐ 76.0044ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 131070 рдЕрд╡рдзрд┐ 110.0063ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 131070 рдЕрд╡рдзрд┐ 80.0046ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 262144
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 262142 рдЕрд╡рдзрд┐ 110.0063ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 262142 рдЕрд╡рдзрд┐ 76.0044ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 262142 рдЕрд╡рдзрд┐ 107.0061ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 262142 рдЕрд╡рдзрд┐ 78.0044ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 524288
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 524286 рдЕрд╡рдзрд┐ 109.0062ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 524286 рдЕрд╡рдзрд┐ 78.0045ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 524286 рдЕрд╡рдзрд┐ 109.0062ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 524286 рдЕрд╡рдзрд┐ 80.0046ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 1048576
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 1048574 рдЕрд╡рдзрд┐ 109.0063ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 1048574 рдЕрд╡рдзрд┐ 80.0045ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 1048574 рдЕрд╡рдзрд┐ 114.0066ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 1048574 рдЕрд╡рдзрд┐ 78.0044ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 2097152
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 2097150 рдЕрд╡рдзрд┐ 111.0064ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 2097150 рдЕрд╡рдзрд┐ 79.0045ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 2097150 рдЕрд╡рдзрд┐ 112.0064ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 2097150 рдЕрд╡рдзрд┐ 77.0044ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 4194304
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 4194302 рдЕрд╡рдзрд┐ 111.0063ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 4194302 рдЕрд╡рдзрд┐ 78.0045ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 4194302 рдЕрд╡рдзрд┐ 111.0063ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 4194302 рдЕрд╡рдзрд┐ 77.0044ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 8388608
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 8388606 рдЕрд╡рдзрд┐ 109.0062ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 8388606 рдЕрд╡рдзрд┐ 78.0045ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 8388606 рдЕрд╡рдзрд┐ 114.0065ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 8388606 рдЕрд╡рдзрд┐ 78.0045ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 16777216
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 16777214 рдЕрд╡рдзрд┐ 109.0062ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 16777214 рдЕрд╡рдзрд┐ 77.0044ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 16777214 рдЕрд╡рдзрд┐ 109.0063ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 16777214 рдЕрд╡рдзрд┐ 77.0044ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 33554432
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 33554430 рдЕрд╡рдзрд┐ 113.0065ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 33554430 рдЕрд╡рдзрд┐ 78.0045ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 33554430 рдЕрд╡рдзрд┐ 110.0063ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 33554430 рдЕрд╡рдзрд┐ 80.0045ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 67108864
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 67108860 рдЕрд╡рдзрд┐ 112.0064ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 67108860 рдЕрд╡рдзрд┐ 77.0044ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 67108860 рдЕрд╡рдзрд┐ 112.0064ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 67108860 рдЕрд╡рдзрд┐ 80.0046ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 134217728
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 134217726 рдЕрд╡рдзрд┐ 109.0063ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 134217726 рдЕрд╡рдзрд┐ 78.0044ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 134217726 рдЕрд╡рдзрд┐ 114.0065ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 134217726 рдЕрд╡рдзрд┐ 81.0047ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 268435456
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 268435446 рдЕрд╡рдзрд┐ 111.0064ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 268435446 рдЕрд╡рдзрд┐ 79.0045ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 268435446 рдЕрд╡рдзрд┐ 114.0065ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 268435446 рдЕрд╡рдзрд┐ 79.0045ms

рдЕрдзрд┐рдХрддрдо рд╕реАрдорд╛: 536870912
maxEvenDividing рдкрд░рд┐рдгрд╛рдо: 536870910 рдЕрд╡рдзрд┐ 107.0062ms
maxEvenDividing2 рдкрд░рд┐рдгрд╛рдо: 536870910 рдЕрд╡рдзрд┐ 76.0043ms
maxEvenConjunction рдкрд░рд┐рдгрд╛рдо: 536870910 рдЕрд╡рдзрд┐ 109.0062ms
maxEvenConjunction2 рдкрд░рд┐рдгрд╛рдо: 536870910 рдЕрд╡рдзрд┐ 80.0046ms

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

рдкреБрдирд╢реНрдЪ: рд╣рд╛рдВ, рдХреЗрд╡рд▓ рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЬрд╛рд╡рд╛ 5 рдФрд░ рдЬрд╛рд╡рд╛ 7/8 рдкрд░ рд╕рдорд╛рди рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдП - рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рд╕рдорд╛рди рд╣реИред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ