เด—เต‹เดฏเดฟเดฒเต† เด…เดตเดธเตเดฅเด•เดณเตเด‚ เด…เดตเดฏเตเดŸเต† เดตเตˆเดšเดฟเดคเตเดฐเตเดฏเด™เตเด™เดณเตเด‚

เด’เดฐเต เดฒเต‚เดชเตเดชเดฟเดจเตเดณเตเดณเดฟเดฒเต† เด…เดตเดธเตเดฅเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดˆ เดฐเดฃเตเดŸเต เด“เดชเตเดทเดจเตเด•เดณเตเด‚ เดชเตเดฐเด•เดŸเดจเดคเตเดคเดฟเตฝ เดคเตเดฒเตเดฏเดฎเดพเดฃเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เด•เดฐเตเดคเตเดจเตเดจเตเดฃเตเดŸเต‹?

		
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

Go-เดฏเดฟเดฒเต† เดŽเดจเตเดฑเต† เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เด…เดจเตเดญเดตเด‚ เดตเดณเดฐเต† เดตเดฟเดชเตเดฒเดฎเดฒเตเดฒ, เด’เดจเตเดจเดฐ เดตเตผเดทเดคเตเดคเดฟเดฒเต‡เดฑเต†เดฏเดพเดฏเดฟ, เดžเดพเตป เด…เดคเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดชเดฒเดชเตเดชเต‹เดดเตเด‚, เดชเด•เตเดทเต‡ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เต (เดจเดจเตเดจเดพเดฏเดฟ, เด‰เดฏเตผเดจเตเดจ เดฒเต‹เดกเต 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-เตฝ เดจเดฟเดจเตเดจเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดฎเต†เดฎเตเดฎเดฑเดฟ เดถเดฐเดพเดถเดฐเดฟเดฏเดพเดฃเต. เดเด•เดฆเต‡เดถเด‚ 813MB - เด‡เดคเต เดซเดฒเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฟเดถเตเดตเดพเดธเตเดฏเดคเดฏเต†เดฏเตเด‚ เดฌเดพเดงเดฟเด•เตเด•เตเดจเตเดจเต, เดจเดฟเด™เตเด™เตพ เดกเดฟเดธเตเด•เดฟเตฝ เดŸเต†เดธเตเดฑเตเดฑเต เด•เต‡เดธเตเด•เตพ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด“เดฐเต‹ เดคเตเดฐเต†เดทเต‹เตพเดกเดฟเดจเตเด‚ เดตเต‡เดฃเตเดŸเดฟเดฏเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเตเด‚ เดชเดฐเดธเตเดชเดฐเด‚ เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚.

เด‡เดชเตเดชเต‹เตพ, เด•เตเดฑเดžเตเดž เดšเต†เดฒเดตเดฟเตฝ เด‡เดคเต†เดฒเตเดฒเดพเด‚ เดŽเด™เตเด™เดจเต† เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเด‚ เดŽเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดžเดพเตป เด…เดตเดธเตเดฅ เดชเดฐเดฟเดถเต‹เดงเดจ เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเดฏเดฟ เดถเดฐเดฟเดฏเดพเด•เตเด•เตเดจเตเดจเต

		
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

เด—เต‹ เด•เด‚เดชเตˆเดฒเตผ เด•เต‹เดกเต เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเดคเตเดคเดคเตเด‚ เด†เดฆเตเดฏเดคเตเดคเต‡เดคเต เดคเต†เดฑเตเดฑเดพเดฃเต†เด™เตเด•เดฟเตฝเดชเตเดชเต‹เดฒเตเด‚ เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เด…เดตเดธเตเดฅ เดŽเดชเตเดชเต‹เดดเตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเตเด‚ เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต†เดจเตเดจเต เดŽเดจเดฟเด•เตเด•เต เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดตเดฟเดถเดฆเต€เด•เดฐเดฃเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เด•เดดเดฟเดžเตเดžเดฟเดฒเตเดฒ. เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเดจเตเดฑเต† เด•เดฃเตเดฃเตเด•เตพ เดฎเด™เตเด™เดฟเดฏเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚, เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เดคเต†เดฑเตเดฑเตŠเดจเตเดจเตเด‚ เดžเดพเตป เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒเต‡? เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด•เด‚เดชเตˆเดฒเดฑเดฟเดจเต เดšเดฟเดฒ เดชเตเดฐเดคเตเดฏเต‡เด• เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดจเตฝเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต‹? เดตเดฟเดตเต‡เด•เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เตพเด•เตเด•เต เดžเดพเตป เดธเดจเตเดคเต‹เดทเดฟเด•เตเด•เตเดจเตเดจเต.

PS: เด…เดคเต†, เดตเดฟเดจเต‹เดฆเดคเตเดคเดฟเดจเดพเดฏเดฟ, เดžเดพเตป เดœเดพเดต 5, เดœเดพเดต 7/8 เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดธเดฎเดพเดจเดฎเดพเดฏ เดŸเต†เดธเตเดฑเตเดฑเตเด•เตพ เดจเดŸเดคเตเดคเดฟ - เดŽเดฒเตเดฒเดพเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต, เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เดธเดฎเดฏเด‚ เดธเดฎเดพเดจเดฎเดพเดฃเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•