Нужно построить таблицу N*N,заполнить числами от 1 до N*N
Ячейки с Простыми числами выделить другим цветом
главный файл (out.html)
<HTML>
<HEAD>
<TITLE>Таблица</TITLE>
</HEAD>
<frameset COLS="35%, *">
<frame name="lattab" SRC="formtab.html">
<frame name="right">
</frameset>
</HTML>
formtab.html
<HTML>
<HEAD>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<TITLE>таб</TITLE>
<script type='text/javascript' ></script>
<link rel="stylesheet" type="text/css" href="3.css">
<style type='text/css'>
.prime {
background-color: #00FFFF;
color: #000000;
}
</style>
<script type='text/javascript'>
function inArray(needle, haystack) {
var length = haystack.length;
for (var i = 0; i < length; i++) {
if (haystack[i] == needle) return true;
}
return false;
}
function findPrime(num) {
var output = [ ];
for (j = 2; j <= num; j++) {
for (k = 2; k < j; k++) {
if (j % k === 0) {
break;
}
}
if (k === j) {
output.push(j);
}
}
return output;
}
function f ()
{ var n =Number (document.forms["form1"].num.value);
var k=1;
var primes = findPrime(n*n);
var out = top.frames['right'].document;
console.log(primes);
out. close()
out.open()
out.writeln('<BODY ><CENTER>');
out.writeln( '<TABLE bgcolor=white COLS='+n+' ROWS='+n+
' border=1>');
for (i=0; i<n; i++)
{ out.writeln( '<TR>');
for (j=0; j<n; j++)
{out.writeln( '<td'+(inArray(k, primes) ? ' class="prime">' :
'>')+k+'</td>');
k++;
}
out.writeln('</TR>');
}
out.write('</TABLE>');
out.writeln('</CENTER><BODY>') ;
}
function cl()
{ var out = top.frames['right'].document;
out. close()
out.open()
out.clear();
}
</script>
</HEAD>
<BODY>
<FORM name="form1">
Input N: <input name="num" TYPE="text" size=4>
<input TYPE="button" value=" OK " onclick="f()">
<input TYPE="button" value=" clear " onclick="cl()">
</FORM>
</BODY>
</HTML>