C1模拟試卷的一個算法題
題目:
使用Math生成一個随機數,這個随機數需要在0到500之間。
然後,在網頁中列印出來從10到這個随機數的回文數。
代碼實作:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script>var number_of_random = Math.round(Math.random() * 500);
document.write("the random number:" + "</br>" + number_of_random + "</br>");
document.write("numbers:" + "</br>");
if(number_of_random <= 10){
for(var i = number_of_random; i < 10; i = i + 1)
{
document.write(i + "</br>");
}
}else{
for(var i = 10; i <= number_of_random; i = i + 1)
{
var str = i + "";
var newstr = "";
for(let j = 0;j < str.length; j = j + 1)
{
newstr += str.split("")[str.length - 1 - j];
}
if(newstr === str){
document.write(str + "</br>");
}
delete str;
}
}</script>
</head>
<body></body>
</html>
其實本質上,這個地方人家要求的是JavaScript:
var number_of_random = Math.round(Math.random() * 500);
document.write("the random number:" + "</br>" + number_of_random + "</br>");
document.write("numbers:" + "</br>");
if(number_of_random <= 10){
for(var i = number_of_random; i < 10; i = i + 1)
{
document.write(i + "</br>");
}
}else{
for(var i = 10; i <= number_of_random; i = i + 1)
{
var str = i + "";
var newstr = "";
for(let j = 0;j < str.length; j = j + 1)
{
newstr += str.split("")[str.length - 1 - j];
}
if(newstr === str){
document.write(str + "</br>");
}
delete str;
}
}
運作結果示例:
示例一
示例二
示例三
我的問題:
最開始我在進行判斷一個數字是不是回文數的時候發生了錯誤,錯誤在于,我把那個
for(let j = 0;j < str.length; j = j + 1)
{
newstr += str.split("")[str.length - 1 - j];
}