程序31:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中
var test=[213,134,134,84,62,11];
const num=33;
test.push(num);
test.sort(function(a,b){
for(var i=0;i<test.length-2;i++){
if(test[i]>test[i+1]){
return b-a;
}else if(test[i]<test[i+1]){
return a-b;
}
}
});
console.log(test);
结果
[ 213, 134, 134, 84, 62, 33, 11 ]
程序32:将一个数组逆序输出
var test=[213,134,134,84,62,11];
var arr=[];
for(var i=test.length-1;i>=0;i--){
arr[test.length-1-i]=test[i];
}
console.log(arr);
结果
[ 11, 62, 84, 134, 134, 213 ]
程序33:打印出杨辉三角形(打出10行)
杨辉三角第n行第m个数为c(n-1,m-1)=(n-1)!/((n-m)!*(m-1)!)
var n=10;
for(var i=1;i<=n;i++){
for(var k=1,sum1='';k<=n-i;k++){
sum1+=' ';
}
for(var j=1,sum2='';j<=i;j++){
 
sum2+=fn(i-1)/(fn(i-j)*fn(j-1))+' ';
}
console.log(sum1+sum2);
}
function fn(x){
if(x==0){
return 1;
}else{
for(var k=1,res=1;k<=x;k++){
res*=k;
}
return res;
}
}
结果
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
程序34:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
var arr=[12345,-142,5326,63457,865,796];
var max=arr[0],min=arr[0];
for(var i=1;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
if(arr[i]<min){
min=arr[i];
}
}
arr[arr.indexOf(max,0)]=arr[0];
arr[0]=max;
arr[arr.indexOf(min,0)]=arr[arr.length-1];
arr[arr.length-1]=min;
console.log(arr);
结果
[ 63457, 796, 5326, 12345, 865, -142 ]
程序35:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数
var n=20,m=5;
var arr=[2131,14,14,532,4369,678,346,3650,990,8567,395,757,4579,68,1234,976,7421,563,54323,754];
console.log(arr);
for(var i=1;i<=n-m;i++){
arr.push(arr[0]);
arr.splice(0,1);
}
console.log(arr);
[2131,14,14,532,4369,678,346,3650,990,8567,395,757,4579,68,1234,976,7421,563,54323,754]
[976,7421,563,54323,754,2131,14,14,532,4369,678,346,3650,990,8567,395,757,4579,68,1234]

程序员50题(JS版本)(七)的更多相关文章

  1. 程序员50题(JS版本)(三)

    程序11:判断101~200之间有多少个素数,并输出所有素数 for(var i=101,num=0;i<=200;i++){ for(var j=2;j<=i;j++){ if(i%j= ...

  2. 程序员50题(JS版本)(九)

    程序41:八进制转换为十进制 var num1=425; var num2=0; num1=num1.toString(); for(var i=num1.length-1,root=1;i>= ...

  3. 程序员50题(JS版本)(八)

    程序36:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人推出圈子,问最后留下的是原来第几号的那位 var n=20; var arr=[]; for(var i=0;i& ...

  4. 程序员50题(JS版本)(六)

    程序26:给一个不多于5位的正整数.要求:一.求它是几位数,二.逆序打印出各位数字. var test=456; var arr=[]; arr[0]=test%10; arr[1]=parseInt ...

  5. 程序员50题(JS版本)(五)

    程序21:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. var arr=[]; var count=20; for(var i=0;i<= ...

  6. 程序员50题(JS版本)(四)

    程序16:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制 var s=0; var num ...

  7. 程序员50题(JS版本)(二)

    程序6:用*号输出字母C的图案 console.log(' ****'); console.log(' ***'); console.log(' **'); console.log(' *'); co ...

  8. 程序员50题(JS版本)(一)

    程序1:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? for(var i=1,sum=0;i<=4;i++){ for(var j=1;j<=4;j++){ ...

  9. asp.net程序员初涉node.js

    之前一直听说node.js在处理网站大规模并发上十分有用,所以有一定规模的公司都在使用node.我在工作中只用过jquery,属于那种边做功能边学习的那一种.甚至连原生的js都不太会写,只是知道语法差 ...

随机推荐

  1. Jmeter利用正则表达式提取器提取登录cookie供下一步使用

    最近在学Jmeter,遇到需要登录之后才能进行下一步操作的场景,网上查了各位大神的资料,东拼西凑总算是做好满足需求了,写一下经过和步骤吧. 一.正常调用 按正常流程添加线程组.HTTP请求(登录和添加 ...

  2. 使用Keepalived构建LVS高可用集群

    LVS的DR模型配置+Keepalive部署 介绍 下图为DR模型的通信过程,图中的IP不要被扑结构中的IP迷惑,图里只是为了说明DR的通信原理,应用到本例中的拓扑上其工作原理不变. 拓扑结构 服务器 ...

  3. Shiro安全框架【快速入门】就这一篇!

    Shiro 简介 照例又去官网扒了扒介绍: Apache Shiro™ is a powerful and easy-to-use Java security framework that perfo ...

  4. Android 8.0对隐式广播的进一步限制

    项目targetSdkVersion升级到26后,对应的的是Android O版本,即Android 8.0系统.经测试发现针对8.0及以上安卓版本手机,AndroidMainfest.xml中静态注 ...

  5. .Net 特性 attribute 学习 ----自定义特性

    什么是特性? [Obsolete("不要用无参构造函数",true)] 放在方式上, 该方法就不能使用了  [Serializable]放在类上面.该类就是可以序列化和反序列化使用 ...

  6. PHP 中move_uploaded_file 上传中文文件名失败

    项目需要上传文件名保持不变,发现上传中文失败:错误如下: move_uploaded_file(public/upload/files//-/\开密二次开发.rar): failed to open ...

  7. HTML 练习清除浮动 :after

    为 clearfix 类所在的 div 内部最后处添加一个 div 标签,内容为 . ,高度为0, 隐藏 <!DOCTYPE html> <html lang="en&qu ...

  8. 2018-09-15 Java源码英翻中库以及服务原型

    服务很简单, 只为演示这个库, 源码在: program-in-chinese/code_translator_service. 在Postman测试效果: 演示服务地址: 74.91.17.250: ...

  9. Linux新加磁盘挂载和重启自动挂载

    提示两点:*新加的硬盘需要重启服务器fdisk -l才能看到*下面操作要用root账户大概是这样的,查看-分区-格式化-挂载-重启自动挂载1.加硬盘后重启服务器查看[root@test199 ~]# ...

  10. C++基础——类封装简单示例

    一.前言 在IC前端设计/验证领域,只会HDL远远不够.目前大多数项目使用已开发好的系统架构和IP Core,因此设计部分的工作量慢慢向系统集成和验证方向转移.而在集成和验证过程中,往往以各种脚本和面 ...