Version 2.0 Stand-alone Javascript Program (saved bolded text/code as a .html file and open with any browser).
(Note for CFSARFC2000: as I understand the last number is composed of swapped digits, like for example if number is 224 then vtrac is 442 [if 442 not already a number in list, otherwise use 244]. This is similarly done for other pair positions, it'll try to swap digits first and if it's already in list then it'll show another order that has those same swapped digits.
for example if number is 454 and it tries to do 545 for vtrac but if 545 is already included as other values, it'll show 554, is this correct CFSARFC2000?)
<!-------------------- Code begins ------------------------------>
<h2>CESARFC2000 Pick-3 Doubles Number Pattern Strategy
<br/>Version 2.0</h2>
<table><tr>
<td align='right' bgcolor='yellow'>Enter Pick-3:</td><td><input type='text' size=3 id='input' value='224'></td></tr></table>
<input type='submit' id='runprocess' value='Run/Process' onclick='run();'/><br/>
<b>Output will show below, after you click on [Run/Process] button:</b><br/>
<div id="output"></div>
</div>
<style>
textarea.myowntextarea {
/*width: 200px;*/
height: 160px;
}
table.betamini, table.betamini th, table.betamini td{
border-spacing:0px;
border:1px solid black;
font-size:12px;
}
table.beta, table.beta th, table.beta td{
border-spacing:0px;
border:1px solid black;
font-size:14px;
}
table.beta th, table.beta td {
padding: 3px;
min-width: 15px;
color:black;
}
table.betasmall, table.betasmall th, table.betasmall td{
border-spacing:0px;
border:1px solid black;
font-size:10px;
}
table.beta th, table.beta td {
padding: 3px;
min-width: 15px;
color:black;
}
table.beta2, table.beta2 tr{
border-spacing:0px;
padding: 0px;
border:0px solid black;
font-size:14px;
}
</style>
<script>
function addstr(s1,s2){
var r = "";
for (var i=0;i<s1.length;i++){
r+= "" + ((parseInt(s1[i]) + parseInt(s2[i]))%10);
}
return r;
}
function subtractstr(s1,s2){
var r = "";
for (var i=0;i<s1.length;i++){
r+= "" + ((parseInt(s1[i]) - parseInt(s2[i]))%10);
}
return r;
}
function tablerow(row){
var r = "<tr>";
for (var i=0;i<row.length;i++){
r += "<td align='center'>"+row[i]+"</td>";
}
r += "</tr>";
return r;
}
function tablerowcolor(row,color){
var r = "<tr>";
for (var i=0;i<row.length;i++){
v = row[i];
if (v.constructor === Array){ // it's an array make it with colspan
r += "<td colspan='"+v[1]+"' align='center' bgcolor='"+color+"'>"+v[0]+"</td>";
}else {
r += "<td align='center' bgcolor='"+color+"'>"+v+"</td>";
}
}
r += "</tr>";
return r;
}
function zpad2(n){
return ("0000"+n).slice(-2);
}
function zpad3(n){
return ("0000"+n).slice(-3);
}
function zpad4(n){
return ("0000"+n).slice(-4);
}
function sumstr(s){
var r = 0;
for (i=0;i<s.length;i++){
r += parseInt(s[i]);
}
return r;
}
function rootstr(s){
var n = parseInt(s);
while (n > 9){
n = sumstr(n+"") + "";
n = parseInt(n);
}
return n;
}
function vtrac(s){
var r = "";
var vt = "1234512345";
for (var i=0;i<s.length;i++){
r += "" + vt[parseInt(s[i])];
}
return r;
}
function run(){
output = "";
input = document.getElementById('input').value;
var r = [];
if (input[0]==input[1]){ //first pair
//111,119,991,999,333,337,773,777,117,993,550,555,vtrac
r.push(addstr(input,"111"));
r.push(addstr(input,"119"));
r.push(addstr(input,"991"));
r.push(addstr(input,"999"));
r.push(addstr(input,"333"));
r.push(addstr(input,"337"));
r.push(addstr(input,"773"));
r.push(addstr(input,"777"));
r.push(addstr(input,"117"));
r.push(addstr(input,"993"));
r.push(addstr(input,"550"));
r.push(addstr(input,"555"));
v1 = input[2]+input[2]+input[0];
v2 = input[0]+input[2]+input[2];
v3 = "XXX";
if (!r.includes(v1)){
r.push(v1);
}else if (!r.includes(v2)){
r.push(v2);
}else{
r.push(v3);
}
//r.push(vtrac(input));
output += r.join(" ") + "<br/>";
}else if (input[1]==input[2]){ //second pair
r.push(addstr(input,"111"));
r.push(addstr(input,"911"));
r.push(addstr(input,"199"));
r.push(addstr(input,"999"));
r.push(addstr(input,"333"));
r.push(addstr(input,"733"));
r.push(addstr(input,"377"));
r.push(addstr(input,"777"));
r.push(addstr(input,"711"));
r.push(addstr(input,"399"));
r.push(addstr(input,"055"));
r.push(addstr(input,"555"));
v1 = input[2]+input[0]+input[0];
v2 = input[0]+input[0]+input[2];
v3 = "XXX";
if (!r.includes(v1)){
r.push(v1);
}else if (!r.includes(v2)){
r.push(v2);
}else{
r.push(v3);
}
output += r.join(" ") + "<br/>";
}else if (input[0]==input[2]){ //second pair
r.push(addstr(input,"111"));
r.push(addstr(input,"191"));
r.push(addstr(input,"919"));
r.push(addstr(input,"999"));
r.push(addstr(input,"333"));
r.push(addstr(input,"373"));
r.push(addstr(input,"737"));
r.push(addstr(input,"777"));
r.push(addstr(input,"171"));
r.push(addstr(input,"939"));
r.push(addstr(input,"505"));
r.push(addstr(input,"555"));
v1 = input[1]+input[0]+input[1];
v2 = input[1]+input[1]+input[0];
v3 = input[0]+input[1]+input[1];
v4 = "XXX";
if (!r.includes(v1)){
r.push(v1);
}else if (!r.includes(v2)){
r.push(v2);
}else if (!r.includes(v3)){
r.push(v3);
}else{
r.push(v4);
}
//r.push(vtrac(input));
output += r.join(" ") + "<br/>";
}else{
output += "Not a double!<br/>";
}
output += "<br/>Completed!<br/>";
document.getElementById("output").innerHTML = output;
}
run();
</script>
<!------------------ Code ends ----------------------------->