这是我的问题,希望得到一些支持。
这是我的功能。
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
这个功能还可以,但是由于我的javascript技巧不好,我不知道如何创建一个表格,将 n 和 q 输入2个方框,然后点击按钮&#34;显示&#34;我们在第三个框中有结果。
我已尝试过以下代码,但它不起作用:(
<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>
另外,我想自己做,你能告诉我在哪里可以找到这个问题的指南。
感谢。
答案 0 :(得分:0)
您的代码存在一些标点问题。
尝试替换:
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="";
答案 1 :(得分:0)
代码看起来很好,会做你想做的事情。只是有一些,(逗号)而不是;您的代码中的(分号)。改变它们,然后尝试。
在此查看解决方案。
var n=document.getElementById('number').value;
var q=document.getElementById('exp').value;
out=document.getElementById('res');
答案 2 :(得分:0)
以下是使用JQuery的解决方案......
<script>
function show() {
var num = parseInt($('#number').val());
var exp = parseInt($('#exp').val());
out = $('#res');
var num = document.getElementById('number').value;
var exp = document.getElementById('exp').value;
out = document.getElementById('res');
out.innerHTML = "";
for (p = 1; p <= num; p++) {
q = p.toString().length;
v = 0;
for (i = q - 1; i >= 0; i--) {
v = v+ Math.pow((Math.floor(p / Math.pow(10, i)) % 10), exp);
}
if (v == p) {
out.innerHTML += v + " ";
}
else {
out.innerHTML += "";
}
}
}
</script>