程序里面的‘脑筋急转弯’

数学中有一种特别常见的取巧算法,首尾相加,快速算和,高斯算法的背后小故事我都还记得清楚,真是让人羡慕的聪明脑子啊!所以我这种凡人只能通过苦思冥想才能发现程序与数学中的小陷阱和小技巧,记录下来做成标记,钉在我这平凡的人生号码牌上吧。

1. 使用while语句计算1到100的和。

首先给出我这平凡大脑错误的想法:

1 var i=0;
2 var sum=0;
3 while (i<=100){
4     i++
5     sum=sum+i;
6 }
7 console.log('1到100的和',sum);
8 //得到错误结果值5151

然后是我想不明白的正确写法:

1 var i=1;
2 var sum=0;
3 while(i<=100){
4     sum+=i;
5     i++;
6 }
7 console.log('正确的结果--》',sum);//正确结果:5050

 2. 获取某个字符在字符串中出现的次数。 

正确的写法是这样的,我这愚笨的脑袋已经把自己犯错的点写下来了。o(╥﹏╥)o

 1 var str="四十四,四十是四十"
 2 var position=0;//记录出现的位置
 3 var time=-1;//记录出现的次数,这里为什么是-1呢?
 4 var index=0;//记录开始查找的位置
 5 while(position!=-1){
 6   position=str.indexOf('四',index);
 7   time++;   
 8    index=position+1;
 9 }
10 console.log("共有几个字符串?--》",time)

猜你喜欢

转载自www.cnblogs.com/qingshanyici/p/10325316.html
今日推荐