这是我的问题,希望对此有所支持。
这是我的职责
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="";