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;
}