程序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. KnockoutJS-与服务端交互

    几乎所有Web应用程序都要和服务器端交换数据,交换数据时最方便的就是使用JSON格式.Knockout可以实现很复杂的客户端交互,对于前后端交互使用的技术最为基本且常用的是Ajax,本次利用Ajax和 ...

  2. Android6.0 源码修改之 Contacts应用

    一.Contacts应用的主界面和联系人详情界面增加顶部菜单添加退出按钮 通过Hierarchy View 工具可以发现 主界面对应的类为 PeopleActivity 联系人详情界面对应的类为 Qu ...

  3. bind、call和apply对比和使用

    最开始关于call.apply.bind函数的使用时,总是很模糊,不知道用哪一个,this指向问题等,看了一些别人的总结后有了一定的理解,所以特地记录一下: 要搞清楚call.apply.bind我们 ...

  4. 【转载】通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?

    本文转载自:http://www.cnblogs.com/1996V/p/9037603.html [尊重作者原创,转载说明出处!感谢作者“小曾看世界”分享! ] 什么是.NET?什么是.NET Fr ...

  5. 【原创】详细案例解剖——浅谈Redis缓存的常用5种方式(String,Hash,List,set,SetSorted )

    很多小伙伴没接触过Redis,以至于去学习的时候感觉云里雾里的,就有一种:教程随你出,懂了算我输的感觉. 每次听圈内人在谈论的时候总是插不上话,小编就偷偷去了解了一下,也算是初入门径. 然后就整理了一 ...

  6. 【swoole】如何在docker+swoole环境下测试udp服务

    前面几篇文章讲了使用 docker+swoole 环境来测试tcp服务以及如何测试,但是当我开始学习udp服务那块的时候,发现使用原来的方式在 docker+swoole 环境下行不通啦,后来发现如果 ...

  7. Snapde一个全新的CSV超大文件编辑软件

    今天介绍如果数据量超过104万行Excel无法打开了,用什么软件可以打开呢?Snapde,一个专门为编辑超大型数据量CSV文件而设计的单机版电子表格软件:它在C++语言开发的Snapman多人协作电子 ...

  8. string转QBytearray

    最近在程序中遇到要把图片的二进制string存成图片到本地,其实就是写文件 structCameraInfo tmpCameraInfo; string strData = tmpCalibrateR ...

  9. mssql sqlserver 给已存在表添加新的字段及字段备注的方法

    转自:http://www.maomao365.com/?p=8102 摘要: 下文讲述向已存在表上添加新字段及字段备注的方法,如下所示: 实验环境:sql server 2008 R2 1. 添加新 ...

  10. SqlServer 递归查询

    --查询部门及下属部门列表 WITH TEMP --递归 AS (SELECT Id, Code, Name, ParentId FROM [dbo].[AspSysDepartments] --查询 ...