Решение на Разлика в сумите от Николай Сапунджиев

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

Към профила на Николай Сапунджиев

Резултати

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

Код

package main
import "fmt"
func main() {
fmt.Println(SquareSumDifference(10))
}
func pow(number, times uint64) uint64 {
if times == 0 {
return 1
}
var result uint64 = 1
var i uint64 = 0
for ; i < times; i++ {
result = result * number
}
return result
}
func SquareSumDifference(n uint64) uint64 {
var squareSumOfAll uint64 = 0
var squareSumSeparately uint64 = 0
var i uint64 = 1
for ; i <= n; i++ {
squareSumOfAll += i
squareSumSeparately += pow(i, 2)
}
squareSumOfAll = pow(squareSumOfAll, 2)
return squareSumOfAll - squareSumSeparately
}

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

PASS
ok  	_/tmp/d20161101-5193-1b5dx4i	0.002s
PASS
ok  	_/tmp/d20161101-5193-1b5dx4i	0.003s
PASS
ok  	_/tmp/d20161101-5193-1b5dx4i	0.003s
PASS
ok  	_/tmp/d20161101-5193-1b5dx4i	0.002s

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

Николай обнови решението на 31.10.2016 21:19 (преди над 1 година)

+package main
+
+import "fmt"
+
+func main() {
+ fmt.Println(SquareSumDifference(10))
+}
+
+func pow(number, times uint64) uint64 {
+
+ if times == 0 {
+ return 1
+ }
+
+ var result uint64 = 1
+ var i uint64 = 0
+
+ for ; i < times; i++ {
+ result = result * number
+ }
+
+ return result
+}
+
+func SquareSumDifference(n uint64) uint64 {
+
+ var squareSumOfAll uint64 = 0
+ var squareSumSeparately uint64 = 0
+ var i uint64 = 1
+
+ for ; i <= n; i++ {
+ squareSumOfAll += i
+ squareSumSeparately += pow(i, 2)
+ }
+
+ squareSumOfAll = pow(squareSumOfAll, 2)
+
+ return squareSumOfAll - squareSumSeparately
+}