所以我正在从Euler项目(最大的Palindrome产品 - https://projecteuler.net/problem=4)开始研究问题4,我需要测试我的代码但是document.write似乎不想工作。这是我第一次在Stack Overflow上发布一个问题所以请告诉我是否需要澄清或记录我犯的任何错误。感谢任何帮助,谢谢!
//JS_RUNNER.html
<!DOCTYPE html>
<html>
<script type="text/javascript" src="JS_PROBLEMS.js"></script>
</html>
//JS_PROBLEMS.js
var l = 0;
for(var a = 100; a < 1000; a++) {
for(var b = 100; b < 1000; b++) {
var p = (a*b).toString();
var t = "";
for(var i = p.length; i >= 0; i--) {
t += p[i];
if(((a*b) > l) && (p.localeCompare(t) == 0) {
l = a * b;
}
}
}
}
document.write(l);
答案 0 :(得分:0)
你错过了if()
的结束括号AUTHORIZATION [dbo]
作为补充说明,如果您在浏览器中测试Javascript,通常最好让开发人员工具打开(大多数浏览器中的F12会为您提供此功能)。
使用console.log();将数据写入控制台,您还将收到错误报告。
答案 1 :(得分:0)
因为这里有错误:
if(((a * b)&gt; l)&amp;&amp;(p.localeCompare(t)== 0) ) {
你没有关闭if条件的圆括号。
var l = 0;
for(var a = 100; a < 1000; a++) {
for(var b = 100; b < 1000; b++) {
var p = (a*b).toString();
var t = "";
for(var i = p.length; i >= 0; i--) {
t += p[i];
if(((a*b) > l) && (p.localeCompare(t) == 0)) {
l = a * b;
}
}
}
}
答案 2 :(得分:0)
请检查一下。
var largePalin = 0;
var intA=0;
var intB = 0;
for(var a = 100; a < 1000; a++) {
for(var b = 100; b < 1000; b++) {
var strNumber = (a*b).toString();
if(strNumber===strNumber.split("").reverse().join("")){
// document.writeln(strNumber)
if(strNumber > largePalin){
intA = a;
intB=b;
largePalin = strNumber;
}
}
}
}
document.writeln("Largest palindrome product is (a,b) ====== ("+intA+" , "+intB+")" )
document.write(largePalin)