JS部分算法

JS部分算法

素数环

function t1(){
    this.as=Array(20);//存放环
    this.as[0]=1;
     this.run=function (n) {
        this.run1(this.as,n);
    }
      this.run1=function(as,n){
              if(n==8){
                 console.log(this.as);
                  return;
              }
          for(var j=2;j<=8;j++){
              //判段这个数用过没有
              if(this.isUse(this.as,j)&&this.judge(this.as,j,n)){//如果没用过返回true
               //如果当前的j和j-1之和是素数  如果不是素数则进入下一个循环
                     this.as[n]=j;
                     this.run1(this.as,n+1);
                     as[n]=0;//到最后一位时输出结果并清空在回到上一层 n-1
              } 
          }
      }
      this.isUse=function (as,i) {
         // console.log(as);
          for(let p=0;p< as.length;p++){
              if(i==as[p]){
                  return false;
              }
          }
              return true;
      }
      this.isZs=function(i){//是素数返回true  不是返回false
          for(var k=2;k<=Math.sqrt(i);k++){
              if(i%k==0){
                  return false;
              }
          }
          return true;
      }
      this.judge=function(as,i,n){
          if(i==0){
              return true;
          }
          else if(this.isZs(as[n-1]+i)){
      //      console.log(this.getNumber(i)+this.getNumber(i+1));
              return true;
          }
          else{
              return false;
          }
      }
   }

小驼峰

function cssAttrCameAttr(cssAttr){
    var cameAttr='';
    var count=0;
    cssAttr= cssAttr.split('-');
    for(var item of cssAttr){
        if(count>0){
            cameAttr+=item.charAt(0).toLocaleUpperCase().concat(item.substring(1));
        }else{
            cameAttr+=item;
        }
        count++;
    }
    return cameAttr;

驼峰

function cssAttrCameAttr1(cssAttr){
    return cssAttr.replace(/-([a-z])/g,function(match,i){
        return  i.toLocaleUpperCase();
    });
}

勾股定理

function gouGu(n){//a:1 b:1 2 3 4 5 6 7 8 9 ... n/2      
    var tt=-1;        
    var arr1={};
    for(var i=1;i<=n;i++){
        for(var j=i;j<=n;j++){
            for(var k=j;k<=n;k++){
                var a1=Number(Math.pow(i,2));
                var a2=Number(Math.pow(j,2));
                var res=(a1+a2);
                // var flag=true;
                // flag=Math.pow(i,2)+Math.pow(j,2)==Math.pow(k,2)
                console.log("i: "+Number(Math.pow(i,2))+"  j:"+Number(Math.pow(j,2)));
                console.log(''+Math.pow(i,2)+Math.pow(j,2)) ;
                if(res==Math.pow(k,2)&&((i+j)>=k)){
                   ++tt;
                   arr1[tt]=new Array(i,j,k);
                }
            }
        }
    }
   return arr1;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值