Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
55
Task/Smith-numbers/Ring/smith-numbers.ring
Normal file
55
Task/Smith-numbers/Ring/smith-numbers.ring
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
# Project : Smith numbers
|
||||
|
||||
see "All the Smith Numbers < 1000 are:" + nl
|
||||
|
||||
for prime = 1 to 1000
|
||||
decmp = []
|
||||
sum1 = sumDigits(prime)
|
||||
decomp(prime)
|
||||
sum2 = 0
|
||||
if len(decmp)>1
|
||||
for n=1 to len(decmp)
|
||||
cstr = string(decmp[n])
|
||||
for m= 1 to len(cstr)
|
||||
sum2 = sum2 + number(cstr[m])
|
||||
next
|
||||
next
|
||||
ok
|
||||
if sum1 = sum2
|
||||
see "" + prime + " "
|
||||
ok
|
||||
next
|
||||
|
||||
func decomp nr
|
||||
for i = 1 to nr
|
||||
if isPrime(i) and nr % i = 0
|
||||
add(decmp, i)
|
||||
pr = i
|
||||
while true
|
||||
pr = pr * i
|
||||
if nr%pr = 0
|
||||
add(decmp, i)
|
||||
else
|
||||
exit
|
||||
ok
|
||||
end
|
||||
ok
|
||||
next
|
||||
|
||||
func isPrime num
|
||||
if (num <= 1) return 0 ok
|
||||
if (num % 2 = 0 and num != 2) return 0 ok
|
||||
for i = 3 to floor(num / 2) -1 step 2
|
||||
if (num % i = 0) return 0 ok
|
||||
next
|
||||
return 1
|
||||
|
||||
func sumDigits n
|
||||
sum = 0
|
||||
while n > 0.5
|
||||
m = floor(n / 10)
|
||||
digit = n - m * 10
|
||||
sum = sum + digit
|
||||
n = m
|
||||
end
|
||||
return sum
|
||||
Loading…
Add table
Add a link
Reference in a new issue