Undulating numbers: Difference between revisions

added RPL
(Added C++ solution)
(added RPL)
Line 1,027:
undulating $_, 600 for 10, 7;</syntaxhighlight>
You may [https://tio.run/##nVTbbtpAEH0uX3GCHMU2xoJCU9UuCXnpF/BQqaTROl7AaL12fclFyN9OZ9c2mBSpaZHwZXfmnDMzx5vyTFzv93kZoJRhKVgRyTVMI2A5d7CUFnY9APErliKKowIzfLRtU73HafJMr58mFoYY@02YuQzyXyXLuDMvJ/SfWhSj4Wx99aECV0mGsev@1Ev4jtHheXhDEMxZBg0z/SR/KRCtEGA2A/ObVYJ30zLfmAw2Gk4MKMiu6eiZWcfgaR2slT@RJNaJI64uxJOlsip1ydkr@kt5JwQmCKM1NaDTJlnGAc9yRBIaSeN5fU3qruLCvLqchFeWq1BUxUpylhRJ5uGL/wZ@@l/w01P46REe75f/vIkeN1C1p1kU8/OE1Ld5sz3Thawznnqw3Sgf6vWa8XzddWIrbjxy4KUsKyImWuxlKR8JWI1nXsqGgqUpl6GnCrNcLnicH1xmbB0YYSK5shfhfWOCvKV2RZKkB@soduUthd6u1QjEqFnkD2NL01cBAxgP9ydOOLN92W77vQ8ocYP6s7i9hVkLItRFVnIwGUKwvICFiwvaJCxtQY@yDr6smnudqUGOOcZ2MMBbKy42HDtZ/TlHNTXjODZEuaf1y@H4vn90GzWEv6QZz3Meng4aHnZtgqsW6lPAqvpEJiihCaOPcDzq2neRFEy0KpLVXy2Mr@oM2anzo6Ju7QbEWnUlrhpLFlSrYNmaU0dUOX1HV2STwH8pyH5fQVWv11FuPDi4Ho3qk4oM9tnf738D Try it online!]
 
=={{header|RPL}}==
Once found the direct formula, the code is fairly simple to write.
{{works with|HP|49}}
« 1 - → n
« n 81 MOD 9 / FLOOR 1 + <span style="color:grey">@ A = mod(N-1,81)//9 + 1</span>
n 9 MOD DUP2 ≤ + <span style="color:grey">@ B = mod(N-1,9) + (A ≤ mod(N-1,9))</span>
→STR +
n 81 / FLOOR 3 + SWAP
'''WHILE''' DUP2 SIZE > '''REPEAT''' DUP + '''END'''
1 ROT SUB STR→ <span style="color:grey">@ reduce # of digits to N//81 + 3</span>
» » '<span style="color:blue">N→UND</span>' STO
« « n <span style="color:blue">N→UND</span> » 'n' 1 81 1 SEQ
« n <span style="color:blue">N→UND</span> » 'n' 82 162 1 SEQ
{ }
1 81 '''FOR''' n
n <span style="color:blue">N→UND</span>
'''IF''' DUP ISPRIME? '''THEN''' + '''ELSE''' DROP '''END'''
'''NEXT'''
625 <span style="color:blue">N→UND</span>
2 53 ^ 0
DO 1 + UNTIL DUP2 <span style="color:blue">N→UND</span> < END
1 - NIP DUP <span style="color:blue">N→UND</span>
» '<span style="color:blue">TASK</span>' STO
{{out}}
<pre>
6: { 101 121 131 141 151 161 171 181 191 202 212 232 242 252 262 272 282 292 303 313 323 343 353 363 373 383 393 404 414 424 434 454 464 474 484 494 505 515 525 535 545 565 575 585 595 606 616 626 636 646 656 676 686 696 707 717 727 737 747 757 767 787 797 808 818 828 838 848 858 868 878 898 909 919 929 939 949 959 969 979 989 }
5: { 1010 1212 1313 1414 1515 1616 1717 1818 1919 2020 2121 2323 2424 2525 2626 2727 2828 2929 3030 3131 3232 3434 3535 3636 3737 3838 3939 4040 4141 4242 4343 4545 4646 4747 4848 4949 5050 5151 5252 5353 5454 5656 5757 5858 5959 6060 6161 6262 6363 6464 6565 6767 6868 6969 7070 7171 7272 7373 7474 7575 7676 7878 7979 8080 8181 8282 8383 8484 8585 8686 8787 8989 9090 9191 9292 9393 9494 9595 9696 9797 9898 }
4: { 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929 }
3: 4646464646
2: 1125
1: 8989898989898989
</pre>
 
=={{header|Wren}}==
1,150

edits