JavaScript练习题11-20
2021/4/25 20:55:18
本文主要是介绍JavaScript练习题11-20,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
JavaScript练习题11-20
- 11.声明函数factorial(n),参数n为自然数,函数返回n的阶乘。注意0!=1。注意不要在控制台输出任何内容。
- 声明函数prime(n),参数n为自然数,当n为素数时,函数返回true,否则返回false。注意不要在控制台输出任何内容。
- 13.声明函数f(n),参数n为自然数,函数返回n以内的素数个数。注意不要在控制台输出任何内容。
- 14.如果n和n+2都是素数,则称n和n+2是一对姐妹素数。声明函数f(n),参数n为自然数,函数返回n以内的姐妹素数的对数。注意不要在控制台输出任何内容。
- 15.一个素数,如果从最低位开始每次去掉一位数字,得到的都是素数,则该数称为超级素数。声明函数superPrime(n),参数n为自然数,如果n是超级素数,则函数返回true,否则返回false。注意不要在控制台输出任何内容。
- 16.一个素数,如果从最低位开始每次去掉一位数字,得到的都是素数,则该数称为超级素数。声明函数f(n),参数n为自然数,函数返回n以内的超级素数的个数。注意不要在控制台输出任何内容。
- 17.超级素数的另一种概念:如果2位数素数去掉高位数字后是1位数素数,则该数是超级素数;m(m>1)位超级素数去掉最高位后是m-1位超级素数。声明函数superPrime(n),参数n为自然数,如果n是超级素数,则函数返回true,否则返回false。注意不要在控制台输出任何内容。
- 18.超级素数的另一种概念:如果2位数素数去掉高位数字后是1位数素数,则该数是超级素数;m(m>1)位超级素数去掉最高位后是m-1位超级素数。声明函数f(n),参数n为自然数,函数返回n以内的超级素数的个数。注意不要在控制台输出任何内容。
- 19.汉诺塔问题:n个金盘按由大到小的顺序叠放在1号塔台上,现要将其移动到3号塔台上,每次只能移动一个金盘,可以借助2号塔台,每个塔台都必须保持由大到小的叠放次序。声明函数f(n,m),n为金盘数,m为最少移动步数方案中的第m步,返回第m步从哪个塔台取金盘。注意不要在控制台输出任何内容。
- 20.声明函数f(a,b),如果b是数组a的元素,则返回第一个b的下标,否则返回-1。
11.声明函数factorial(n),参数n为自然数,函数返回n的阶乘。注意0!=1。注意不要在控制台输出任何内容。
function factorial( n) { if(n==0) { return 1 } else{ return n*factorial(n-1) } }
声明函数prime(n),参数n为自然数,当n为素数时,函数返回true,否则返回false。注意不要在控制台输出任何内容。
function prime(n){ if(n == 0 || n == 1) return false; else{ for(let i = 2; i <= Math.sqrt(n); i++){ if(n % i == 0){ return false; } } return true; } }
13.声明函数f(n),参数n为自然数,函数返回n以内的素数个数。注意不要在控制台输出任何内容。
function f(n){ var a=0; for(;n>=2;n--) { for(i=2;i<=n-1;i++) if(n%i==0)break; if(i>=n) { a++; } }return a; }
14.如果n和n+2都是素数,则称n和n+2是一对姐妹素数。声明函数f(n),参数n为自然数,函数返回n以内的姐妹素数的对数。注意不要在控制台输出任何内容。
function f(n) { var i,j,k,sum=0,flag1,flag2; for(i=3;i<=n;i++) { flag1=1,flag2=1; for(j=2;j<i;j++) { if(i%j==0) { flag1=0; break; } for(k=2;k<i+2;k++) { if((i+2)%k==0) { flag2=0; break; } } } if(flag1==1&&flag2==1){ sum++; } } return sum;}
15.一个素数,如果从最低位开始每次去掉一位数字,得到的都是素数,则该数称为超级素数。声明函数superPrime(n),参数n为自然数,如果n是超级素数,则函数返回true,否则返回false。注意不要在控制台输出任何内容。
function superPrime(n){ if(n == 0 || n == 1) return 0; else{ var array = []; var count = 0; for(let j = n; j >= 2; j--){ let flag = 0; for(let i = 2; i <= Math.sqrt(j); i++){ if(j % i == 0){ flag = 1; break; } } if(flag == 0){ array.push(j); } } if(array[0] != n) return false; var len = n.toString().length; for(let k = 0 ;n >= 10; k++){ n = n / 10; n = Math.floor(n); for(let m = 0; m < array.length; m++){ if(n == array[m]){ count++; } } } if(count == len -1){ return true; } else{ return false; } } }
16.一个素数,如果从最低位开始每次去掉一位数字,得到的都是素数,则该数称为超级素数。声明函数f(n),参数n为自然数,函数返回n以内的超级素数的个数。注意不要在控制台输出任何内容。
function f(n){ if(n == 0 || n == 1) return 0; else{ var array = []; var count = 0; var count1 = 0; for(let j = n; j >= 2; j--){ let flag = 0; for(let i = 2; i <= Math.sqrt(j); i++){ if(j % i == 0){ flag = 1; break; } } if(flag == 0){ array.push(j); } } for(var q = 0; q < array.length; q++){ var len = array[q].toString().length; let number = array[q]; for(let k = 0 ;number >= 10; k++){ number = number / 10; number = Math.floor(number); for(let m = 0; m < array.length; m++){ if(number == array[m]){ count++; } } } if(count == len -1){ count1++; } count = 0; } return count1; } }
17.超级素数的另一种概念:如果2位数素数去掉高位数字后是1位数素数,则该数是超级素数;m(m>1)位超级素数去掉最高位后是m-1位超级素数。声明函数superPrime(n),参数n为自然数,如果n是超级素数,则函数返回true,否则返回false。注意不要在控制台输出任何内容。
function superPrime(n){ if(n == 0 || n == 1 || n == 2 || n == 3 || n == 5 || n == 7) return false; //还可以 n < 10 else{ var array = []; var count = 0; for(let j = n; j >= 2; j--){ //从最大值n开始算起判断素数,依次减小逐个判断。 let flag = 0; for(let i = 2; i <= Math.sqrt(j); i++){ if(j % i == 0){ flag = 1; break; } } if(flag == 0){ array.push(j); //将n以内的素数放在array数组内。 } } if(n != array[0]) return false; //如果array[0]不是n的话 说明n不是素数直接返回false var len = n.toString().length; //求出n值的位数 let number = n; let count11 = len - 1; let flag1 = 0; //用于记录从高位的每位数 for(let k = 0 ; number >= 10; k++){ flag1 = Math.floor(number/Math.pow(10,count11)); number = number - (flag1 * Math.pow(10,count11)); //依次减去当前最高位的对应数 for(let m = 0; m < array.length; m++){ if(number == array[m]){ //判断剩下的数是否在素数数组array里面,有则count+1 count++; } } count11 = count11 - 1; } if(count == len - 1){ //因为最高位之前是素数的直接去掉最高位计算下一位,所以对应的位数减1 return true; }else{ return false; } } }
18.超级素数的另一种概念:如果2位数素数去掉高位数字后是1位数素数,则该数是超级素数;m(m>1)位超级素数去掉最高位后是m-1位超级素数。声明函数f(n),参数n为自然数,函数返回n以内的超级素数的个数。注意不要在控制台输出任何内容。
function f(n){ if(n < 10) return 0; else{ var array = []; var count = 0; var count1 = 0; var count111 = 0; for(let j = n; j >= 2; j--){ let flag = 0; for(let i = 2; i <= Math.sqrt(j); i++){ if(j % i == 0){ flag = 1; break; } } if(flag == 0){ array.push(j); } } for(var q = 0; q < array.length; q++){ var len = array[q].toString().length; let number = array[q]; let count11 = len - 1; let flag1 = 0; for(let k = 0 ;number >= 10; k++){ flag1 = Math.floor(number/Math.pow(10,count11)); number = number-flag1*Math.pow(10,count11); for(let m = 0; m < array.length; m++){ if(number == array[m]){ count++; } } count11 = count11 - 1; } if(count == len - 1){ count111++; } count = 0; } return count111-4; } }
19.汉诺塔问题:n个金盘按由大到小的顺序叠放在1号塔台上,现要将其移动到3号塔台上,每次只能移动一个金盘,可以借助2号塔台,每个塔台都必须保持由大到小的叠放次序。声明函数f(n,m),n为金盘数,m为最少移动步数方案中的第m步,返回第m步从哪个塔台取金盘。注意不要在控制台输出任何内容。
var num=0,sum,result=1; function move(n,from,buffer,to) { if (n == 1) { num++; if(sum==num) { result=from; return result; } } else { move (n-1, from, to, buffer); num++; if(sum==num) { result=from; return result; } move (n-1, buffer, from, to); } } function f(n,m) { sum=m; move(n,1,2,3); return result; }
20.声明函数f(a,b),如果b是数组a的元素,则返回第一个b的下标,否则返回-1。
function f(a,b) { var num=0,flag=0,i=0; for(var i=0;i<a.length;i++) { if(a[i]==b) { flag=1; num=i; break; } } if(flag==1) return num; else return -1; }
JavaScript练习题1–10
JavaScript练习题21-25
这篇关于JavaScript练习题11-20的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)