Vampire number: Difference between revisions

added RPL
(→‎{{header|Vlang}}: Rename "Vlang" in "V (Vlang)")
(added RPL)
Line 3,375:
125500: [251,500]
126027: [201,627]
</pre>
 
=={{header|RPL}}==
{{works with|HP|49}}
« 0 10 NDPUN →LIST
'''WHILE''' OVER '''REPEAT'''
SWAP 10 IDIV2 1 +
ROT SWAP DUP2 GET 1 + PUT
'''END''' NIP
» '<span style="color:blue">DIGCNT</span>' STO
« DUP XPON LASTARG <span style="color:blue">DIGCNT</span> 2 / IP { } DUP
→ n digc fangsize result divs
« n DIVIS SORT
DUP « XPON » MAP
DUP fangsize POS
'''IF''' DUP '''THEN'''
SWAP fangsize 1 + POS 1 - PICK3 SIZE MIN '''FOR''' j
DUP j GET
'''CASE'''
divs OVER POS '''THEN''' DROP '''END'''
n OVER /
DUP XPON fangsize ≠ '''THEN''' DROP2 '''END'''
2 →LIST
DUP 10 MOD { 0 0 } == '''THEN''' DROP '''END'''
DUP « →STR » MAP ∑LIST STR→ <span style="color:blue">DIGCNT</span> digc ≠ '''THEN''' DROP '''END'''
DUP 2 GET 'divs' STO+
LIST→ DROP R→C
'result' STO+
'''END'''
'''NEXT'''
'''ELSE''' DROP2 '''END'''
DROP result
» » '<span style="color:blue">VAMPIRE?</span>' STO
« '''IF''' OVER SIZE '''THEN'''
1 PICK3 SIZE '''FOR''' j
" = " +
OVER j GET RE R→I +
"*" + OVER j GET IM R→I +
'''NEXT''' NIP
'''ELSE''' DROP2 "Not vampiric" '''END'''
» '<span style="color:blue">V→STR</span>' STO <span style="color:grey">@ ''( { (d1,d2) } n → "n = d1*d2" )''</span>
« { } 10
'''WHILE''' OVER SIZE 8 < '''REPEAT'''
DUP <span style="color:blue">VAMPIRE?</span>
'''IF''' DUP SIZE '''THEN'''
OVER <span style="color:blue">V→STR</span>
ROT SWAP + SWAP
'''ELSE''' DROP '''END'''
1 +
'''IF''' DUP XPON 2 MOD NOT '''THEN''' 10 * '''END'''
'''END''' DROP
{ 16758243290880 24959017348650 14593825548650 }
1 « DUP <span style="color:blue">VAMPIRE?</span> SWAP <span style="color:blue">V→STR</span> » DOLIST
» '<span style="color:blue">TASK</span>' STO
Since the search is very slow, it has been limited to the first eight numbers:
{{out}}
<pre>
2: { "1260 = 60*21" "1395 = 15*93" "1435 = 35*41" "1530 = 30*51" "1827 = 21*87" "2187 = 27*81" "6880 = 80*86" "102510 = 510*201" }
1: { "16758243290880 = 2817360*5948208 = 2751840*6089832 = 2123856*7890480 = 1982736*8452080"
"24959017348650 = 4230765*5899410 = 4129587*6043950 = 4125870*6049395 = 2949705*8461530 = 2947050*8469153"
"Not vampiric" }
</pre>
 
1,150

edits