Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
41
Task/Arithmetic-numbers/Go/arithmetic-numbers.go
Normal file
41
Task/Arithmetic-numbers/Go/arithmetic-numbers.go
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
"rcu"
|
||||
"sort"
|
||||
)
|
||||
|
||||
func main() {
|
||||
arithmetic := []int{1}
|
||||
primes := []int{}
|
||||
limit := int(1e6)
|
||||
for n := 3; len(arithmetic) < limit; n++ {
|
||||
divs := rcu.Divisors(n)
|
||||
if len(divs) == 2 {
|
||||
primes = append(primes, n)
|
||||
arithmetic = append(arithmetic, n)
|
||||
} else {
|
||||
mean := float64(rcu.SumInts(divs)) / float64(len(divs))
|
||||
if mean == math.Trunc(mean) {
|
||||
arithmetic = append(arithmetic, n)
|
||||
}
|
||||
}
|
||||
}
|
||||
fmt.Println("The first 100 arithmetic numbers are:")
|
||||
rcu.PrintTable(arithmetic[0:100], 10, 3, false)
|
||||
|
||||
for _, x := range []int{1e3, 1e4, 1e5, 1e6} {
|
||||
last := arithmetic[x-1]
|
||||
lastc := rcu.Commatize(last)
|
||||
fmt.Printf("\nThe %sth arithmetic number is: %s\n", rcu.Commatize(x), lastc)
|
||||
pcount := sort.SearchInts(primes, last) + 1
|
||||
if !rcu.IsPrime(last) {
|
||||
pcount--
|
||||
}
|
||||
comp := x - pcount - 1 // 1 is not composite
|
||||
compc := rcu.Commatize(comp)
|
||||
fmt.Printf("The count of such numbers <= %s which are composite is %s.\n", lastc, compc)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue