Golang asal sayı çözümlemeleri

Her zaman iş için kod yazmak insanı daraltır. Bazen sınırlarınız zorlayıp keyifli keyifli düşünmek istersiniz. İşte öyle anlarımdan birinde golang ile asal sayı bulma algoritmaları neler olabilir diye düşünürken…

Asal sayı çözümlemeleri ve çalışma süreleri:

yontem 1 = 1m38.56121s

for a := 3; a <100000 ;a++ {
		asal := false
		for i := 2 ; i <a ; i++{
			//fmt.Println(a , i)
			if a%i == 0{
				asal = true
			}
		}
		if !asal {
			fmt.Println(a)
		}
	}

yöntem 2 = 948.768ms

asallar := []int{}
	asallar = append(asallar, 2)
	asalMi := true
	for a := 2; a < 100000; a++ {

		if !asalMi {
			fmt.Println(a-1)
			asallar = append(asallar, a-1)
		}

		asalMi = false
		for _, c := range asallar {
			if a % c == 0 {
				asalMi = true
				break
			}
		}
	}

yöntem 3 = 8.820473s

i:= 2
	for a := 3; a <100000 ;a++ {
		if i == a - 1 {
			fmt.Println(a-1)
		}
		for i = 2 ; i <a ; i++{
			//fmt.Println(a , i)
			if a%i == 0{
				break
			}
		}
	}
alierbey | 23/02/2018

Leave a Reply