Исходники и презентации

This commit is contained in:
2025-05-23 07:26:39 +03:00
parent aa948179d5
commit 02d8430a3a
514 changed files with 13773 additions and 0 deletions

View File

@ -0,0 +1,35 @@
package main
import "testing"
func SlowFactorial(number int) int {
if number == 0 {
return 1
}
return number * SlowFactorial(number-1)
}
func FastFactorial(number int) int {
return factorial(number, 1)
}
func factorial(number, accumulator int) int {
if number == 1 {
return accumulator
}
return factorial(number-1, number*accumulator)
}
func BenchmarkSlowRecursion(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = SlowFactorial(10)
}
}
func BenchmarkFastRecursion(b *testing.B) {
for i := 0; i < b.N; i++ {
_ = FastFactorial(10)
}
}