JSFiddle - React, Tailwind, and code Playground

by fairmutex

HTML

<td class="sitebuffer" valign="top">
	<br>
	<script language="JavaScript">
	<!--
		var TimeRemaining;
		var Timer;
		TimeRemaining = 5;
		Timer = setTimeout("countdown()", 1000);

		function countdown()
		{
			TimeRemaining--;
			document.submitform.submitbutton.value = "Submit (remaining time: " + TimeRemaining + " seconds)";
			if (TimeRemaining > 0)
			{
				Timer = setTimeout("countdown()", 1000);
			}
			else
			{
				document.submitform.submitbutton.value = "---------------- too late ----------------";
				alert ("You're too late!");
			}
		}
	// -->
	</script>
	<div style="width: 60%;">
		This level is about string manipulation.<br>
		In this challenge, you will be given a string.  Take all the numbers from the string and classify them as composite numbers or prime numbers.  You should assume all numbers are one digit, and neither number 1 nor number 0 counts.  Find the sum of every composite number, then find the sum of every prime number.  Multiply these sums together.  Then, take the first 25 non-numeric characters of the given string and increment their ASCII value by one (for example, # becomes $).  Take these 25 characters and concatenate the product to them.  This is your answer.<br>
		Your answer should look like this: oc{lujxdpb%jvqrt{luruudtx140224<br>
	</div><br>
	<b>String: </b><input id="str" value="k4roi7z3ghvg4ad#$pyg84m6q3fh4uf5jvxd9j4htj5wn#72ba7#k25?$6$u6@mr5ye8n42?x53q#wmxru?0rcb53z6qsb#yhu@ebb1kpq?5nym9p?g02??ofi$39xtfxqhsk0x5$t8zx98$gj4h87w3ut?emfcluo2m?xt$mg9cnz1cr9avk2rfe407djgrd$xdmvcyb4x#$$u8pk2ggha11sqe0g@3e5ca375ams$#qxr30b2@$is2hbph4clj2esw?i@9wb4lrnstthc7cu45x#2ryy3w?9x@sagdo#t98geeknrifj9?3q4r$5o@m5la8ix248gr0g?tpk687svzra1n4ru$pvqn7p@7bck8qvuvwuf$11tszwes95dhoa@u17@c#tc81lmv@u$rv27fxyty1vbb05?frhgpj363wm3wbxoxneaav13$qj00h4tdjf#1sp80?p88vsu5vt1?3i#q$v@7x4m8@2ci0#b4fjnairc8?@gokszyuf1ndtgtp84cexsc884jrk?lx31#awl$ixhr10lximea0sqgbk39orjne7p6a5t?cxnid705td0orovnlzzjl2uuz$4vnv0??19gkgteum8@3apm@pcppd$zemerxtcpe58j"...

JavaScript

(function(){
    
    function isPrime(n){
        var j =0;
        for(j = 2; j< n;j++){
            if(n % j == 0 && j != n) return false;
        }
        return true;
    }
    
    var string = document.getElementsByTagName('input')[0].value;
    var resultElem = document.getElementsByName('solution')[0];

    var prime = 0;
    var composite = 0;
    var z = 0;
    var i = 0;
    var letters = [];
    for(i = 0 ; i < string.length;i++){
        if(Number(string[i]) <= 1){
        }
        else if(Number(string[i])>1 && Number(string[i])<=9){
            if(isPrime(Number(string[i]))){
                prime += Number(string[i]);
            }else{
                composite +=  Number(string[i]);
            }
        }else{
            if(z<25){
                letters[z++] = String.fromCharCode(string[i].charCodeAt(0) + 1);   
               
            }
        }
    }
    
    resultElem.value=letters.join('') + String(prime * composite);
    document.submitform.submitbutton.click(); 
})();