JS循环得到的数字怎么变成一个数组 比如for(i=0;i<5;i++){ if(i==3){js for循环 continuee; } alert(i); }

当前位置:&>& >
Bash For循环(递增计数)与for循环用法详解
Bash For循环(递增计数)与for循环用法详解
发布时间: 09:51:58&&&编辑:
本文介绍下,有关bash shell中for循环的一个例子,以及for循环的详细用法,是学习shell编程之循环语句的好例子,有需要的朋友参考下。
先来看for循环的例子:
用Bash Shell的for循环,每次递增数是500。
#!/bin/bash
#每次递增的数
ADD_NUM=500
#递增1的话取消下行注释,并相应的注释另一句for的开头的
#for ((i=1;i&=29500;i++))
#递增定义的数
for ((i=1;i&=29500;i=$i+$ADD_NUM))
&&& E=`expr $i + $ADD_NUM`
&&& ./sym init:account-data --start-at=$i --end-at=$E
下面详细介绍下中for循环用法。
一,实现输出1-100间可以被3整除的数,可以有如下多种方法。
方法1,用(())
#!/bin/bash
for((i=1;i&100;i++))
if((i%3==0))
方法2,使用`seq 100`
#!/bin/bash
for i in `seq 100`
if((i%3==0))
方法3,使用while
#!/bin/bash
while(($i&100))
if(($i%3==0))
i=$(($i+1))
二,Linux Shell for循环写法总结
1、for((i=1;i&=10;i++));do echo $(expr $i \* 4);done
2、在shell中常用的是 for i in $(seq 10)
3、for i in ``
4、for i in ${arr[@]}
5、for i in $* ; do
6、for File in /proc/sys/net/ipv4/conf/*/accept_ do
7、for i in f1 f2 f3 ;do
8、for i in *.txt
9、for i in $(ls *.txt)
for in语句与` `和$( )合用,利用` `或$( )的将多行合为一行的缺陷,实际是合为一个字符串数组
============ -_- ==============for num in $(seq 1 100)
10、LIST=&rootfs usr data data2&
for d in $LIST; do
用for in语句自动对字符串按空格遍历的特性,对多个目录遍历
11、for i in {1..10}
12、for i in stringchar {1..10}
13、awk 'BEGIN{for(i=1; i&=10; i++) print i}'
注意:AWK中的for循环写法和C语言一样的
#/bin/bash
arr=(&a& &b& &c&)
echo &arr is (${arr[@]})&
echo &item in array:&
for i in ${arr[@]}
&echo &$i&
echo &参数,\$*表示脚本输入的所有参数:&
for i in $* ; do
echo '处理文件 /proc/sys/net/ipv4/conf/*/accept_redirects:'
for File in /proc/sys/net/ipv4/conf/*/accept_ do
echo $File
echo &直接指定循环内容&
for i in f1 f2 f3 ;do
echo &C 语法for 循环:&
for (( i=0; i&10; i++)); do
在shell用for循环做数字递增的时候发现问题,特列出shell下for循环的几种方法:
for i in `seq 1 1000000`;do
用seq 1 做递增,之前用这种方法时没遇到问题,因为之前的i根本就没用到百万(1000000),因为项目需要此数字远大于百万,发现用seq 数值到 1000000时转换为1e+06,根本无法作为数字进行其他运算或将$i有效、正确的取用。
for((i=1;i&;i++));do
while(($i&));do
i=`expr $i + 1`
因为本方法调用expr故运行速度会比第1,第2种慢不少不过可稍作改进,将i=`expr $i + 1`改为i=$(($i+1))即可稍作速度的提升,不过具体得看相应shell环境是否支持。
for i in {1..;do
有关shell中for循环的用法就介绍到这里了,希望对大家有所帮助。
本文来自:
本文链接:
相关热词搜索:
sed基本用法有一组数字,从1到n(假设n=10000),从中任意删除了3个数,顺序也被打乱,剩余数字放在一个n-3的数组里,请找出丢失的数字,要求算法比较快?
使用javascript实现
按投票排序
记录所有数的和,平方和,立方和,然后解个方程就可以了。O(1)空间。
ls的各種答案用的memory很大... 如果數據是一個很大的data stream... 估計很快內存就沒有了.更好的方法參考Muthukrishnan的Data Streams: Algorithms and Applications的...第一頁紙...
我的想法,初始化一个大小为n的数组,初始化为0,扫描那个n-3数组,每得到一个数字m就在n数组的m-1位置值赋值为1。扫描结束在扫描n数组,找出值不为1的数组位置,记录之。扫描结束得到结果。算法复杂度大致为n
桶排序,用O(n)的时间复杂度扫描一次数组,将出现过的数字对应的标记数组的下标标记,然后再用O(n)的时间扫描标记数组,记录没有被标记的数组下标
&script type="text/javascript"&
var a = [1,3,5,6,8,9];//2,4,7
var x = 9*(1+9)/2;
var xx = a[0];
var y = 1;
var yy = a[0]
var z = 0;
var zz = Math.pow(a[0],2);
for(var i=1;i&=9;i++){
z += Math.pow(i,2);
if(i&(9-3)){
zz += Math.pow(a[i],2);
document.write("x+y+z="+(x-xx)+"&br/&");
document.write("xyz="+y/yy+"&br/&");
document.write("x^2+y^2+z^2="+(z-zz));
// x+y+z=13
// x^2+y^2+z^2=69
和、平方和、立方和,解方程式即可&!DOCTYPE html&
&title&腾讯前端题目&/title&
&meta http-equiv='content-type' content='text/ charset=utf-8' /&
&body& &script type="text/javascript"&
var n = 10 * 1000;
var arr = [];
!(function() {
for (var i = 0; i & i++) {
arr.push(i + 1);
num1 = arr.splice(Math.floor(Math.random() * arr.length), 1);
num2 = arr.splice(Math.floor(Math.random() * arr.length), 1);
num3 = arr.splice(Math.floor(Math.random() * arr.length), 1);
document.write('开始抽数:&br/&第1个数是:' + num1 + ',第2个数是:' + num2 + ',第3个数是:'+num3+'&br/&&br/&');
arr.sort(function() {return Math.random() & 0.8;});
~(function(){
var startDate = new Date().getTime();
//找出那两个数
var t1 = 0, t2 = 0, t3 = 0, idx = 0, len = arr.
for (;idx & idx++) {
t1 += idx + 1;
t2 += (idx + 1) * (idx + 1);
t3 += (idx + 1) * (idx + 1) * (idx + 1);
if (idx & len) {
t1 -= arr[idx];
t2 -= arr[idx] * arr[idx];
t3 -= arr[idx] * arr[idx] * arr[idx];
var a = 6;
var b = -6 * t1;
var c = (t1 * t1 - t2) * 3;
var d = -(2 * t3 + t1 * t1 * t1 - 3 * t1 * t2);
var discrim, q, r, dum1, s, t, term1, r13;
q = (3.0*c - (b*b))/9.0;
r = -(27.0*d) + b*(9.0*c - 2.0*(b*b));
r /= 54.0;
discrim = q*q*q + r*r;
term1 = (b/3.0);
dum1 = q*q*q;
dum1 = Math.acos(r/Math.sqrt(dum1));
r13 = 2.0*Math.sqrt(q);
var x1 = -term1 + r13*Math.cos(dum1/3.0);
var x2 = -term1 + r13*Math.cos((dum1 + 2.0*Math.PI)/3.0);
var x3 = -term1 + r13*Math.cos((dum1 + 4.0*Math.PI)/3.0);
x1 = Math.round(x1);
x2 = Math.round(x2);
x3 = Math.round(x3);
var endDate = new Date().getTime();
document.write("被抽掉的三个数分别是:" +
[x1, x2, x3].join(" - "));
document.write("&br&&br&共耗时:" + (endDate - startDate) + "ms");
x + y + z = a ①x * x + y * y + z * z = b ②x * x * x + y * y * y + z * z * z = c ③① * ② 得到x * y * z = (2c + a * a * a - 3 * a * b) / 6 ④x * x + y * y + z * z = b =& x * x + (y + z) * (y + z) - 2 * y * z = b ⑤由①可知: y + z = a - x由④可知: y * z = (2c + a * a * a - 3 * a * b) / (6 * x)⑤ =& x * z + (a - x) * (a- x) - 2 * y * z = b=& x * z + (a - x) * (a- x) - (2c + a * a * a - 3 * a * b) / (3 * x) = b等式两边同时乘以 3 * x 之后解这个一元三次方程式6 * x * x * x - 6 * a * x * x + (a * a - b) * 3 * x - (2 * c + a * a * a - 3 * a * b) = 0参考这里(),可以得到最终的结果 :)更多详情,可以参考:
用异或做,用到的知识包括3个不同的数 互相异或产生的3个数二进制为1的最低位必有两个相同 一个不同, 解法理解起来有点难。
粗略想了一个方法,可以散列到另一个数组中,数组默认全零。这样找仍然为零的位置就可以了。因为这个问题的条件是非零并且是连续的数,所以需要考虑的情况就少了一些。
已有帐号?
无法登录?
社交帐号登录第4章数组上机作业_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第4章数组上机作业
上传于||文档简介
&&c​程
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩11页未读,继续阅读
你可能喜欢int i=0,a[]={3,4,5,4,3}; do{a[i++];{while (a[++i]
while前的括号打反了? 程序并不会出问题, 因为第一次循环a[i++];执行后, i = 1;
while条件中先++i, 导致i = 2, 而a[2] < 5 条件是不成立的, 直接跳出了do {} while循环. 执行for循环遍历打印a数组. 这里如果a[] = {2,3,4,5,4,3}就出问题了, 正好把a[3]=5跳过去了, 会再次进入循环, 结果是数组越界了. 结果就不一定了, 越界后如果那段内存不可读, 程序就崩溃了, 如果可读读则读到一个随机值, 正好是大于5的, 也就碰巧出循环了. a[i]++ ?那分析是这样:第一次: a[i]++;
此时a[0] = 4; i = 0;
while (a[++i] < 5);
此时i = 1, 判断的是a[1] < 5,
条件成立第二次:a[i]++;
此时a[1] = 5; i = 1;
while (a[++i] < 5);
此时i = 2; 判断的是a[2] < 5, 条件不成立, 跳出循环. 数据变成45543, 我已运行确认是这结果,
跟你的结果不一样, 看看是不是哪里还输入错了.
答案是45543没错 额 跳出循环之后怎么是输出5543啊咳咳 初学者 不太懂啊求详细的后面是如何执行的
跳出循环后, 只有数组下标0和下标1加了1, a[0] 从3变成4, a[1]从4变成5,
第三次条件不成立了, 所以a[2] = 5, a[3] = 4, a[4] = 3都没有变, 结果自然就是45543了
后面的for循环是就是遍历整个数组,从下标0打印到下标4.
为您推荐:
其他类似问题
扫描下载二维码}

我要回帖

更多关于 java for循环continue 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信