Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
45
Task/Magic-constant/Go/magic-constant.go
Normal file
45
Task/Magic-constant/Go/magic-constant.go
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
"rcu"
|
||||
)
|
||||
|
||||
func magicConstant(n int) int {
|
||||
return (n*n + 1) * n / 2
|
||||
}
|
||||
|
||||
var ss = []string{
|
||||
"\u2070", "\u00b9", "\u00b2", "\u00b3", "\u2074",
|
||||
"\u2075", "\u2076", "\u2077", "\u2078", "\u2079",
|
||||
}
|
||||
|
||||
func superscript(n int) string {
|
||||
if n < 10 {
|
||||
return ss[n]
|
||||
}
|
||||
if n < 20 {
|
||||
return ss[1] + ss[n-10]
|
||||
}
|
||||
return ss[2] + ss[0]
|
||||
}
|
||||
|
||||
func main() {
|
||||
fmt.Println("First 20 magic constants:")
|
||||
for n := 3; n <= 22; n++ {
|
||||
fmt.Printf("%5d ", magicConstant(n))
|
||||
if (n-2)%10 == 0 {
|
||||
fmt.Println()
|
||||
}
|
||||
}
|
||||
|
||||
fmt.Println("\n1,000th magic constant:", rcu.Commatize(magicConstant(1002)))
|
||||
|
||||
fmt.Println("\nSmallest order magic square with a constant greater than:")
|
||||
for i := 1; i <= 20; i++ {
|
||||
goal := math.Pow(10, float64(i))
|
||||
order := int(math.Cbrt(goal*2)) + 1
|
||||
fmt.Printf("10%-2s : %9s\n", superscript(i), rcu.Commatize(order))
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue