add new solutions

This commit is contained in:
kanna5 2025-12-31 15:14:22 +09:00
parent 71189b61cf
commit 9c2c959a9b
Signed by: kkyy
GPG key ID: 06332F3965E9B0CF
10 changed files with 349 additions and 8 deletions

View file

@ -0,0 +1,45 @@
package q1390
import "slices"
func sfd(n int) int {
if n < 6 {
return 0
}
buf := [6]int{1, n}
divisors := buf[:2]
nn := n
for i := 2; i*i <= nn; i++ {
for nn%i == 0 {
nn /= i
if !slices.Contains(divisors, i) {
divisors = append(divisors, i)
}
if !slices.Contains(divisors, nn) {
divisors = append(divisors, nn)
}
if !slices.Contains(divisors, n/nn) {
divisors = append(divisors, n/nn)
}
if len(divisors) > 4 {
return 0
}
}
}
if len(divisors) == 4 {
return divisors[0] + divisors[1] + divisors[2] + divisors[3]
}
return 0
}
func sumFourDivisors(nums []int) int {
sum := 0
for _, n := range nums {
sum += sfd(n)
}
return sum
}
var _ = sumFourDivisors