Nice primes: Difference between revisions
Content deleted Content added
Add Factor |
No edit summary |
||
Line 1: | Line 1: | ||
{{task}} |
{{Draft task}} |
||
::# Take an integer n, greater than zero. |
::# Take an integer n, greater than zero. |
||
::# sumn is sum of n's digits |
::# sumn is sum of n's digits |
Revision as of 18:27, 10 March 2021
Nice primes is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
- Take an integer n, greater than zero.
- sumn is sum of n's digits
- If sumn's lenght greater than 1 repeat the (2) for n = sumn
- Stop when sumn's length equal to 1
If n and sumn are prime then n is Nice prime
Let 500 < n < 1000
- Example
853 (prime) 8 + 5 + 3 = 16 1 + 6 = 7 (prime)
Factor
<lang factor>USING: math math.primes prettyprint sequences ;
- digital-root ( m -- n ) 1 - 9 mod 1 + ;
500 1000 primes-between [ digital-root prime? ] filter .</lang>
- Output:
V{ 509 547 563 569 587 599 601 617 619 641 653 659 673 677 691 709 727 743 761 797 821 839 853 857 887 907 911 929 941 947 977 983 997 }
Ring
<lang ring> load "stdlib.ring"
num = 0 limit1 = 500 limit2 = 1000
see "working..." + nl see "Nice numbers are:" + nl
for n = limit1 to limit2
strn = string(n) while true sumn = 0 for m = 1 to len(strn) sumn = sumn + number(strn[m]) next if len(string(sumn)) = 1 exit ok strn = string(sumn) end if isprime(n) and isprime(sumn) num = num + 1 see "" + num + ": " + n + " sumn = " + sumn + nl ok
next
see "done..." + nl </lang>
- Output:
working... Nice numbers are: 1: 509 sumn = 5 2: 547 sumn = 7 3: 563 sumn = 5 4: 569 sumn = 2 5: 587 sumn = 2 6: 599 sumn = 5 7: 601 sumn = 7 8: 617 sumn = 5 9: 619 sumn = 7 10: 641 sumn = 2 11: 653 sumn = 5 12: 659 sumn = 2 13: 673 sumn = 7 14: 677 sumn = 2 15: 691 sumn = 7 16: 709 sumn = 7 17: 727 sumn = 7 18: 743 sumn = 5 19: 761 sumn = 5 20: 797 sumn = 5 21: 821 sumn = 2 22: 839 sumn = 2 23: 853 sumn = 7 24: 857 sumn = 2 25: 887 sumn = 5 26: 907 sumn = 7 27: 911 sumn = 2 28: 929 sumn = 2 29: 941 sumn = 5 30: 947 sumn = 2 31: 977 sumn = 5 32: 983 sumn = 2 33: 997 sumn = 7 done...