【问题标题】:JS: Carmichael number [closed]JS:卡迈克尔号码[关闭]
【发布时间】:2013-06-03 11:15:15
【问题描述】:

我写了一个小的 carmichael 算法,但它返回的 561 不是 carmichael 数。 您可以在此处查看该算法的工作演示:dam.io/mt10

   function carmichaelTest(n) {
        if(!isPrime(n)){
            factors = isPrimeFactorListUnique(n);
            if(factors != false){
                for(var i=0;i < factors.length;i++){
                    if( n-1 % factors[i]-1 != 0){
                        return "Not a carmichael number:"+(n-1)+" % "+(factors[i]-1) +" == " + (n-1 % factors[i]-1 ) + "( != 0)";
                    }
                }
                return "Carmichael number!"
            }
            return "Not carmichael number: factors: "+primeFactorList(n);
        }else{
            return "Prime so not carmichael number";
        }
        return "Humm...";
    }

这不是为了课程,只是为了好玩。

编辑:另外,作为条件,我也尝试过:

if(rapidExpo(factors[i],n-1,n) != 1){

if(factors[i]-1 % n-1 != 0){

【问题讨论】:

    标签: javascript math primes


    【解决方案1】:

    如果发现错误,条件只是拼写错误,它是

    ((n-1) % (factors[i]-1)) != 0
    

    【讨论】:

    • 你现在应该接受你的答案,它会更干净,你会得到一个闪亮的徽章。
    • 谢谢,我完全忘记了这个问题
    猜你喜欢
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 2011-09-21
    相关资源
    最近更新 更多