Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
23
Task/N-smooth-numbers/Sidef/n-smooth-numbers-1.sidef
Normal file
23
Task/N-smooth-numbers/Sidef/n-smooth-numbers-1.sidef
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
func smooth_generator(primes) {
|
||||
var s = primes.len.of { [1] }
|
||||
{
|
||||
var n = s.map { .first }.min
|
||||
{ |i|
|
||||
s[i].shift if (s[i][0] == n)
|
||||
s[i] << (n * primes[i])
|
||||
} * primes.len
|
||||
n
|
||||
}
|
||||
}
|
||||
|
||||
for p in (primes(2,29)) {
|
||||
var g = smooth_generator(p.primes)
|
||||
say ("First 25 #{'%2d'%p}-smooth numbers: ", 25.of { g.run }.join(' '))
|
||||
}
|
||||
|
||||
say ''
|
||||
|
||||
for p in (primes(3,29)) {
|
||||
var g = smooth_generator(p.primes)
|
||||
say ("3,000th through 3,002nd #{'%2d'%p}-smooth numbers: ", 3002.of { g.run }.last(3).join(' '))
|
||||
}
|
||||
18
Task/N-smooth-numbers/Sidef/n-smooth-numbers-2.sidef
Normal file
18
Task/N-smooth-numbers/Sidef/n-smooth-numbers-2.sidef
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
func is_smooth_over_prod(n, k) {
|
||||
|
||||
return true if (n == 1)
|
||||
return false if (n <= 0)
|
||||
|
||||
for (var g = gcd(n,k); g > 1; g = gcd(n,k)) {
|
||||
n /= g**valuation(n,g) # remove any divisibility by g
|
||||
return true if (n == 1) # smooth if n == 1
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
for p in (503, 509, 521) {
|
||||
var k = p.primorial
|
||||
var a = {|n| is_smooth_over_prod(n, k) }.first(30_019).last(20)
|
||||
say ("30,000th through 30,019th #{p}-smooth numbers: ", a.join(' '))
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue