项目Euler Q3 JavaScript

时间:2015-03-21 14:20:05

标签: javascript

我的代码如下:

function is_prime(num) {
    for(i=2; i < num; i++) {
        if(num % i === 0) {
            return false;
        } else {
            return true;
        }
    }


};

var total = 600851475143,
    b = 2,
    storemax = 0;

function max_prime(total) {
    if(total % b === 0) {
        storemax = total / b;
        if (is_prime(storemax) = true) {
            console.log(storemax);
        } else {
            b += 1;
            max_prime(total);
        }
    }
};

我做错了什么?我已经坚持了一段时间......试图做odin项目的网络编程课程。

1 个答案:

答案 0 :(得分:1)

问题出现在max_prime函数

if (is_prime(storemax) = true) {

当您使用比较运算符时,您正在使用赋值运算符

将此更改为

if (is_prime(storemax === true) {

这将检查is_prime(storemax)的值是否等于true

此外,JavaScript函数遵循lowerCamelCase约定。将is_prime更改为isPrime,将max_prime更改为maxPrime