这是我的问题,希望对此有所支持。

这是我的职责

function show(n,q)
{
  for(j=1;j<=n;j++)
  {
    s=j.toString().length;
    t=0;
    for(i=s-1;i>=0;i--)
    {
      t+=Math.pow((Math.floor(j/Math.pow(10,i))%10),q);
    }
    if(t==j){document.write(t+ " ");}
    else{document.write("");}
  }
}
show(1000,3);


有两个输入:数字n和指数q,它将解算所有小于n的数字,即所有数字的q指数之和等于自身。
例如:q = 3,n = 200,我们得到数字153,因为:1 ^ 3 + 5 ^ 3 + 3 ^ 3 = 153

此功能还可以,但是由于我的Java语言不熟练,我不知道如何创建一个允许在2个框中输入n和q的表单,然后单击“显示”按钮,我们在第三个框中显示了结果。

我已经尝试过下面的代码,但是它不起作用:(

<input id='number' type='text' />
<input id='exp' type='text' />
<button onclick='javascript:show()'>Show</button>
<div id='res' style='width:100%;height:200px'></div>
<script>
  function show() {
    var n=document.getElementById('number').value,
        var q=document.getElementById('exp').value,
          out=document.getElementById('res'),
            out.innerHTML="";
      for(j=1;j<=n;j++)
      {
        s=j.toString().length;
        t=0;
        for(i=s-1;i>=0;i--)
        {
          t+=Math.pow((Math.floor(j/Math.pow(10,i))%10),q);
        }
        if(t==j){
          out.innerHTML+=t+ " ";
        }
        else{
          out.innerHTML+="";
        }
      }
    }

</script>


另外,我想自己做,可以告诉我在哪里可以找到有关此问题的指南。

谢谢。

最佳答案

您的代码存在一些标点问题。

尝试更换:

    var n=document.getElementById('number').value,
    var q=document.getElementById('exp').value,
      out=document.getElementById('res'),
        out.innerHTML="";


通过

    var n=document.getElementById('number').value,
        q=document.getElementById('exp').value,
        out=document.getElementById('res');
    out.innerHTML="";

08-25 23:00