How to check if a sequence of numbers is a Geometric progression (consecutive ratios are the same) in Go

1 Answer

0 votes
package main

import (
	"fmt"
)

func isGeometricProgression(arr []int) bool {
	size := len(arr)

	if size == 1 {
		return true
	}

	ratio := arr[1] / arr[0]

	for i := 1; i < size; i++ {
		if arr[i]/arr[i-1] != ratio {
			return false
		}
	}

	return true
}

func main() {
	arr := []int{9, 27, 81, 243, 729, 2187}

	if isGeometricProgression(arr) {
		fmt.Println("Yes")
	} else {
		fmt.Println("No")
	}
}


/*
run:

true

*/

 



answered Sep 21, 2024 by avibootz
...