2015-03-24 2 views
0

Получил столбец номера столбца и квадрат, однако я не могу понять, как выполнить куб/четвертый/пятый/шестой столбец.Таблица правил JavaScript (вложенная петля)

Я знаю, что мне нужно использовать как минимум 2 вложенных цикла для заполнения строк и столбцов. И я знаю, что х^3 должно быть х * х * х, и х^4 должна быть х * х * х * х и т.д.

<HTML> 
<HEAD> 
<TITLE>Table of Powers</TITLE> 
</HEAD> 
<BODY> 

<SCRIPT type="text/javascript"> 

document.writeln("<TABLE BORDER = '1' WIDTH = '100%'>"); 
document.writeln("<TR><TH WIDTH = '100'><B>x</b></TH>"); 
document.writeln("<TH><B>x^2</B></TH>"); 
document.writeln("<TH><B>x^3</B></TH>"); 
document.writeln("<TH><B>x^4</B></TH>"); 
document.writeln("<TH><B>x^5</B></TH>"); 
document.writeln("<TH><B>x^6</B></TH></TR>"); 

for (var count = 1; count <=10; count++) 
{ 
    document.writeln("<TR><TD>" + count + "</TD><TD>" + square(count)); 
    function square(x) 
    { 
     return x*x; 
    } 
} 
document.writeln("</TABLE>"); 

</SCRIPT> 
</BODY> 
</HTML> 

Вывод должен выглядеть следующим образом:

x  x^2  x^3  x^4  x^5  x^6 
1  1  1  1  1  1 
2  4  8  16  32  64 
3  9  27  81  243  729 
4  16  64  256  1,024 4,096 
5  25  125  625  3,125 15,625 
6  36  216  1,296 7,776 46,656 
7  49  343  2,401 16,807 117,649 
8  64  512  4,096 32,768 262,144 
9  81  729  6,561 59,049 531,441 
10  100  1,000 10,000 100,000 1,000,000 
+0

Подсказка: вы можете взглянуть на функцию 'pow' библиотеки Math [link] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ Математика/пау). – doldt

ответ

0

Почему бы вам не использовать Math.pow function

что-то вроде этого,

for (var base = 1;base <=10;base++) 
{document.writeln("<TR>"); 
for (var count = 1; count <=6; count++) 
{ 
    document.writeln("<TD>" + Math.pow(base,count)+"</TD>"); 

} 
document.writeln("</TR>"); 
} 
+0

Даже если это так, я до сих пор не знаю, как заполнять строки и столбцы таблицы с помощью вложенных циклов. – Jamba

+0

@ jamba Отредактированный фрагмент кода в ответе – theAnubhav

0

document.writeln("<TABLE BORDER = '1' WIDTH = '100%'>"); 
    document.writeln("<TR><TH WIDTH = '100'><B>x</b></TH>"); 
    document.writeln("<TH><B>x^2</B></TH>"); 
    document.writeln("<TH><B>x^3</B></TH>"); 
    document.writeln("<TH><B>x^4</B></TH>"); 
    document.writeln("<TH><B>x^5</B></TH>"); 
    document.writeln("<TH><B>x^6</B></TH></TR>"); 

    for (var count = 1; count <= 10; count++) { 
     document.writeln("<TR><TD>" + count + "</TD><TD>" + square(count) + "</TD>"); 
     document.writeln("<TD>" + cubed(count)) + "</TD>"; 
     document.writeln("<TD>" + fourth(count)) + "</TD>"; 
     document.writeln("<TD>" + five(count)) + "</TD>"; 
     document.writeln("<TD>" + six(count)) + "</TD>"; 
     function square(x) { 
      return x * x; 
     } 
     function cubed(x) { 
      return x * x *x; 
     } 
     function fourth(x) { 
      return x * x * x * x; 
     } 
     function five(x) { 
      return x * x * x *x * x; 
     } 
     function six(x) { 
      return x * x * x * x * x *x; 
     } 
    } 
    document.writeln("</TABLE>"); 
</script> 

Вы всегда можете заменить функции питания более сжатыми контурами, но это должно дать требуемый результат.

+1

Вы не должны помещать объявления функций в тело цикла. – Bergi

Смежные вопросы