Решение на Разлика в сумите от Илко Качаров

Обратно към всички решения

Към профила на Илко Качаров

Резултати

  • 10 точки от тестове
  • 0 бонус точки
  • 10 точки общо
  • 4 успешни тест(а)
  • 0 неуспешни тест(а)

Код

package main
import "fmt"
func main() {
count := uint64(10)
fmt.Println(count)
fmt.Println(SquareSumDifference(count))
}
func SquareSumDifference(n uint64) uint64 {
nums := getNumbers(n)
fmt.Println(nums)
return SquareSum(nums) - SumSquare(nums)
}
func SquareSum(nums []uint64) (sum uint64) {
for _, val := range nums {
sum += val
}
sum = sum * sum
fmt.Println("square-sum", sum)
return
}
func SumSquare(nums []uint64) (sum uint64) {
for _, val := range nums {
sum += val * val
}
fmt.Println("sum-square", sum)
return
}
func getNumbers(n uint64) (nums []uint64) {
for i := uint64(1); i <= n; i++ {
nums = append(nums, i)
}
return
}

Лог от изпълнението

[1 2 3 4 5 6 7 8 9 10]
square-sum 3025
sum-square 385
PASS
ok  	_/tmp/d20161101-5193-4glpyf	0.003s
[1 2]
square-sum 9
sum-square 5
[1 2 3 4 5]
square-sum 225
sum-square 55
[1 2 3 4 5 6 7 8]
square-sum 1296
sum-square 204
[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15]
square-sum 14400
sum-square 1240
[1 2 3 4 5 6 7 8 9 10 11 12]
square-sum 6084
sum-square 650
[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17]
square-sum 23409
sum-square 1785
[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22]
square-sum 64009
sum-square 3795
PASS
ok  	_/tmp/d20161101-5193-4glpyf	0.004s
[]
square-sum 0
sum-square 0
PASS
ok  	_/tmp/d20161101-5193-4glpyf	0.004s
[1]
square-sum 1
sum-square 1
PASS
ok  	_/tmp/d20161101-5193-4glpyf	0.002s

История (1 версия и 0 коментара)

Илко обнови решението на 27.10.2016 10:27 (преди над 1 година)

+package main
+
+import "fmt"
+
+func main() {
+ count := uint64(10)
+ fmt.Println(count)
+ fmt.Println(SquareSumDifference(count))
+}
+
+func SquareSumDifference(n uint64) uint64 {
+ nums := getNumbers(n)
+ fmt.Println(nums)
+ return SquareSum(nums) - SumSquare(nums)
+}
+
+func SquareSum(nums []uint64) (sum uint64) {
+ for _, val := range nums {
+ sum += val
+ }
+ sum = sum * sum
+ fmt.Println("square-sum", sum)
+ return
+}
+
+func SumSquare(nums []uint64) (sum uint64) {
+ for _, val := range nums {
+ sum += val * val
+ }
+ fmt.Println("sum-square", sum)
+ return
+}
+
+func getNumbers(n uint64) (nums []uint64) {
+ for i := uint64(1); i <= n; i++ {
+ nums = append(nums, i)
+ }
+ return
+}