Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
31
Task/Factorions/Sidef/factorions.sidef
Normal file
31
Task/Factorions/Sidef/factorions.sidef
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
func max_power(b = 10) {
|
||||
var m = 1
|
||||
var f = (b-1)!
|
||||
while (m*f >= b**(m-1)) {
|
||||
m += 1
|
||||
}
|
||||
return m-1
|
||||
}
|
||||
|
||||
func factorions(b = 10) {
|
||||
|
||||
var result = []
|
||||
var digits = @^b
|
||||
var fact = digits.map { _! }
|
||||
|
||||
for k in (1 .. max_power(b)) {
|
||||
digits.combinations_with_repetition(k, {|*comb|
|
||||
var n = comb.sum_by { fact[_] }
|
||||
if (n.digits(b).sort == comb) {
|
||||
result << n
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
for b in (2..12) {
|
||||
var r = factorions(b)
|
||||
say "Base #{'%2d' % b} factorions: #{r}"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue