Просмотр исходного кода

K7 functions of integers on cartesian plane.

Frederic G. MARAND 4 лет назад
Родитель
Сommit
8f20e627f6

+ 11 - 0
go/.idea/runConfigurations/k7_functions_of_integers_on_Cartesian_plane.xml

@@ -0,0 +1,11 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="k7 functions of integers on Cartesian plane" type="GoTestRunConfiguration" factoryName="Go Test">
+    <module name="codewars" />
+    <working_directory value="$PROJECT_DIR$/" />
+    <go_parameters value="-i" />
+    <framework value="gotest" />
+    <kind value="PACKAGE" />
+    <package value="code.osinet.fr/fgm/codewars/kyu7/functions_of_integers_on_cartesian_plane" />
+    <method v="2" />
+  </configuration>
+</component>

+ 13 - 0
go/kyu7/functions_of_integers_on_cartesian_plane/functions_of_integers_on_cartesian_plane_suite_test.go

@@ -0,0 +1,13 @@
+package kata_test
+
+import (
+	"testing"
+
+	. "github.com/onsi/ginkgo"
+	. "github.com/onsi/gomega"
+)
+
+func TestFunctionsOfIntegersOnCartesianPlane(t *testing.T) {
+	RegisterFailHandler(Fail)
+	RunSpecs(t, "FunctionsOfIntegersOnCartesianPlane Suite")
+}

+ 40 - 0
go/kyu7/functions_of_integers_on_cartesian_plane/k.go

@@ -0,0 +1,40 @@
+package kata
+
+func SuMin(m int)  int64 {
+	var i, j, s int64
+	n := int64(m)
+	for i = 1; i <= n; i++ {
+		for j = 1; j <= n; j++ {
+			if i <= j {
+				s += i
+			} else {
+				s += j
+			}
+		}
+	}
+	return s
+}
+func SuMax(m int)  int64 {
+	var i, j, s int64
+	n := int64(m)
+	for i = 1; i <= n; i++ {
+		for j = 1; j <= n; j++ {
+			if i >= j {
+				s += i
+			} else {
+				s += j
+			}
+		}
+	}
+	return s
+}
+func SumSum(m int)  int64 {
+	var i, j, s int64
+	n := int64(m)
+	for i = 1; i <= n; i++ {
+		for j = 1; j <= n; j++ {
+			s += i + j
+		}
+	}
+	return s
+}

+ 55 - 0
go/kyu7/functions_of_integers_on_cartesian_plane/k_test.go

@@ -0,0 +1,55 @@
+package kata_test
+
+import (
+	"fmt"
+
+	. "github.com/onsi/ginkgo"
+	. "github.com/onsi/gomega"
+
+	. "code.osinet.fr/fgm/codewars/kyu7/functions_of_integers_on_cartesian_plane"
+)
+
+func dotestSuMin(n int, exp int64) {
+	fmt.Printf("SuMin n %v\n", n)
+	var ans = SuMin(n)
+	Expect(ans).To(Equal(exp))
+}
+func dotestSuMax(n int, exp int64) {
+	fmt.Printf("SuMax n %v\n", n)
+	var ans = SuMax(n)
+	Expect(ans).To(Equal(exp))
+}
+
+func dotestSumSum(n int, exp int64) {
+	fmt.Printf("SumSum n %v\n", n)
+	var ans = SumSum(n)
+	Expect(ans).To(Equal(exp))
+}
+
+func sumin() {
+	dotestSuMin(5, 55)
+	dotestSuMin(100, 338350)
+
+}
+func sumax() {
+	dotestSuMax(5, 95)
+	dotestSuMax(100, 671650)
+}
+
+func susum() {
+	dotestSumSum(5, 150)
+	dotestSumSum(100, 671650+338350)
+}
+
+var _ = Describe("Tests", func() {
+
+	It("should handle basic min cases", func() {
+		sumin()
+	})
+	It("should handle basic max cases", func() {
+		sumax()
+	})
+	It("should handle basic sum cases", func() {
+		susum()
+	})
+})