程序36:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人推出圈子,问最后留下的是原来第几号的那位
var n=20;
var arr=[];
for(var i=0;i<n;i++){
arr.push(1);
}
for(var j=1,least=n;;j++){
if(least==2){
break;
}
for(var k=0,tag=0;;k++){
if(arr[k]==1){
tag+=1;
if(tag==3){
arr[k]=0;
least-=1;
break;
}
}
}
}
console.log('最后留下的是原来第'+(arr.lastIndexOf(1)+1)+'号的那位');
console.log(arr);
结果
最后留下的是原来第2号的那位
[ 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
程序37:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度
function main(str){
for(var i=0;;i++){
if(str[i]==undefined){
return i;
}
}
}
console.log('长度为'+main('atfggdrsrgfdst'));
结果
长度为14
程序38:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用1/3+1/5+...+1/n
function fn(n){
for(var i=n,sum=0;i>1;i-=2){
sum+=1/i;
}
return sum;
}
console.log(fn(1452));
结果
3.582727113427774
程序39:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分为五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
for(var i=2;;i++){
var tag=0;
for(var j=1,res=i,get=0;j<=5;j++){
get=(res-1)*0.2;
res=(res-1)*0.8;
if(get%1!=0){
break;
}
tag+=1;
 
}
if(tag==5){
console.log('海滩上原来最少有'+i+'个桃子');
break;
}
}
结果
海滩上原来最少有3121个桃子
程序40:809*??=800*??+9*??+1 其中??代表的两位数。8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??的结果
for(var i=10;i<=99;i++){
if(8*i>=10&&8*i<=99&&9*i>=100&&9*i<=999){
console.log('??代表的两位数是'+i);
console.log('809*??的结果'+809*i);
}
}
结果
??代表的两位数是12
809*??的结果9708

程序员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版本)(七)

    程序31:有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数组中 var test=[213,134,134,84,62,11]; const num=33; test.push(num ...

  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. 如何提高使用Java反射的效率?

    前言 在我们平时的工作或者面试中,都会经常遇到“反射”这个知识点,通过“反射”我们可以动态的获取到对象的信息以及灵活的调用对象方法等,但是在使用的同时又伴随着另一种声音的出现,那就是“反射”很慢,要少 ...

  2. Eclipse 出现项目没有错但是项目名称却有红色感叹号或者红叉的解决办法

    错误的起因是本人因为一不小心点了下面圈出来的某一个按钮,具体记不清楚了(好像是"remove from build path"),然后整个项目变得很奇怪了,所有的包都变成了一个普通 ...

  3. C#判断字符串是不是英文或数字

    利用正则.   u4e00-u9fa5; //中文  ^[A-Za-z]+$  //英文字母 //截取冲击式样形状 public string SubStringForXingZhuang(strin ...

  4. 理解 Node.js 的 Event loop

    问题 考察如下代码,脑回路中运行并输出结果: console.log("1"); setTimeout(function setTimeout1() { console.log(& ...

  5. netcore程序部署到docker

    1.基础准备 1. ubuntu 18.04 2. docker version 18.09 3. netcore 2.1 2.简介 自从netcore支持跨平台之后,以及现在很多公司都是采用容器化部 ...

  6. ASP.NET Razor

    一.为什么要学习Razor? 可以让服务器代码(就是c#和vb)嵌入到网页中,也就是说这个页面中包含html代码和C#(vb)代码.基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容.当 ...

  7. ArcGIS API for JavaScript 4.x 本地部署之IIS法

    [导读] 关于如何在默认网站(Default Web Site,物理地址C:\inetpub\wwwroot\)启动,已有很多博客详尽地写好了. 本篇在自建网站(本机)中配置http而非https的j ...

  8. 解决Android编译时出现aapt.exe finished with non-zero exit value 1(第二篇)

    之前出现该错误,我用的是这个方法: https://www.cnblogs.com/tangZH/p/10691383.html 然而遗憾的是,这次不管用了,无奈,只好另寻他法,其实会出现这个错误就是 ...

  9. git tag本地删除以及远程删除

    假设存在tag:12345 git tag -d 12345 #删除本地记录 git push origin :refs/tags/12345 #删除远程记录 PS: 如果您觉得我的文章对您有帮助,可 ...

  10. 阿里云RDS for SQL Server测试吐槽

    最近测试了一下阿里云RDS for SQL Server,有些设计简直就是反人类,让人不得不吐槽一番. 1:控制台创建数据库时,数据库名不能包含大小字母. 如上截图所示,数据库名称不能包含大写字母,好 ...