请问for i 2 ini for j 2 ji 1jx a x语句 x的执行次数关于n的增长率是多少呢

2021-03-23 22:31:45 字数 5197 阅读 8083

1楼:匿名用户

选a 第一个for语句执行i=0时 第二个for语句要执行n-1 然后再回到第一个语句

i=1 。。。。。 n-2 。。。。。。。。。

。。。。。。。。。。。。。。。。。。。。。

i=n-2。。。。。。。 1.。。

i=n-1。。。。。。。。。结束

2楼:匿名用户

选择法排序 ?次数是 n*(n-1)

for(i=2;i<=n;++i) for(j=2;j<=i-1;++j) {++x; a[i,j]=x; } 什么意思

3楼:百度用户

for(k=0,m=0;i>0&&j>0;i--,j--)的意思是:循环开始时做个:k=0和m=0。

以后每做个循环时都判断一下条件i>0&&j>0成立还是不成立,成立则做循环体,再做i--和j-- 咯~! 这个循环直到i=<0 或j=<0的时候停止咯!!!!!

m+= 的意思就是:m=m+....咯!

x[i-1]-'0'意思是:把x数组的第i-1个字符转成数字!

y[j-1]-'0'也是同样道理了

也不知道你这些**段是干什么的程序里的**了,,,

4楼:匿名用户

对于一个二位数组 嵌套的for循环就是用来输出每一行的各个元素,也就是说用第一层循环控制行,第二层循环控制列;

这个for(i=2;i<=n;++i) for(j=2;j<=i-1;++j) 的意思就是输出n-1行,并且每一行输出i-2个元素。

5楼:oo没有蜡

双重循环嵌套,对一个二维数组进行处理

for(i=1; i<=n;++i) {++x; s+=x;} 这个语句是什么意思,怎么个执行过程?求解答~

6楼:匿名用户

for循环里面的语句表示,这个循环执行了n次,从i=1执行,每i=i+1执行一次,到i=n

大括号里面的表示,x=x+1;s=s+x

整体算式可以表示为:s=s+x+(x+1)+(x+2)+……+(x+n-1)+(x+n)

7楼:匿名用户

假设n为3,x为0,s为0,这个for循环执行时:

i = 1, x = 1, s = s + x = 0 + 1 = 1;

i = 2, x = 2, s = s + x = 1 + 2 = 3;

i = 3, x = 3, s = s + x = 3 + 3 = 6;

其实这样的循环,是可以自己逐步分析得到结果的

8楼:物语星空

for循环i从1到n逐渐增大 x也逐渐增大 (但是x应该有一个初值)

当i=1时 x=x+1 带入下面 s+=x

直到i= n 结束

for(j=0;ja[i+1]) 这个什么意思??

9楼:全凭取决

for(j=0;j来如果j自么执行for循环内的内容,j自加bai一次 j++就是duj=j+1for(i=0;i上

if(a[i]>a[i+1]) //判断a[i]是否zhi大于a[i+1],就是数组dao内前一个数是否大于后一个数,i在这是代表数组的数的序号;如果成立就执行if下的语句,不成立跳出if语句

希望可以帮助你,望采纳!

10楼:匿名用户

for(j=0;ja[i+1]) .......................c

这样写的时候看的也方便下,建议楼主写**的时候注意下常内用格式,这样机房

容白你自己也方便他人。

下面解释意思吧

fou循环的时候后面只允许执行一句的,而这里没有逗号,也就是说,最开始看a句的条件,如果符合则执行b句,执行b句的时候如果符合条件则执行c,其实这就是所谓的嵌套循环

11楼:匿名用户

就是两个循环啊,其实我觉得你是在看排序的**吧,语句没有什么不好理解内

的。关容键是你没有理解怎么排序,所以不能理解。一个循环是表示循环几次,一个循环是表示从第一个到第几个需要进行的操作。这个过程你好好去看下排序的过程自然就会理解了。

12楼:匿名用户

c或c++语句,二次循环,

matlab中a=zeros(2*n,9); for i=1:2:2*n-1 j=(i+1)/2; 是什么意思?急用!谢谢

13楼:匿名用户

解释:a=zeros(2*n,9);是指把2*n行9列的0矩阵赋给a。也就是a为2*n行9列的0矩阵。

for i=1:2:2*n-1 j=(i+1)/2;是for循环,i为1,3,5,7……,2*n-1时(也就是i为奇数),循环内求j的值。循环直到i=2*n-1。

14楼:

a是一个2*n行,9列的零矩阵。循环是指从1开始一直到2*n,每两个,就是1,3,5,7,9……求j的值,j的值依次为1,2,3,4,5

for(i=1;i<=n;++i) for(j=1;j<=n;j++) {c[i][j]=0; for(k=1;k<=n;++k) c[i][j]+=a[i][k]*b[k][j];}

15楼:匿名用户

先整理一下:

for(i=1;i<=n;++i) // 重复n次,o(n)

for(j=1;j<=n;j++) // 又重复n次, o(n)

// 该括号部分语句工作量为版 o(1+n*1)=o(n)// 总的工作量(复杂度)为o(n * n * n)=o(n),简单权的说,并列语句时,工作量相加,涉及到语句的循环时,工作量乘循环次数,所以一般只要看循环多少层就可以了。这里的第三层语句中工作量实际上不都被忽略了吗?

x=0 for(i=1;i

16楼:天云一号

当 i=1时,

x++执行n-2次;

当 i=2时,x++执行n-3次;

当 i=3时,x++执行n-4次;

。。。当 i=n-2时,x++执行1次;

当 i=n-1时,x++执行0次;

所以x++的执行次数为1+2+...+(n-2) = (n-1)*(n-2)/2

故时间复杂度为o(n^2)

17楼:黑色的夢

和冒泡类似,n的平方的时间复杂度

x=0;for(i=1;i

18楼:sunny秋千坠

i=1时 循环n-1

i=2。。。n-2

i=n-1 .... 1

所以1+2+3+。。。n-1=(1+n-1)*(n-1)/2=n^2/2-n/2

所以时间复杂度是0(n^2)

19楼:易燃又好吃

应该是o(n2),(n2表示n的平方……)

20楼:匿名用户

从两个方面对你的问题进行解答:

1.实验。令x=0,y=1,每运行一次x=x+y,x都会加1,所以最后x的值就是其运行值。测试程序如下:

运行结果:

2、从理论说明。外层给定一个n,内部两层就会循环1+2+3+....+n次,所以总的循环次数为:

1+(1+2)+(1+2+3)+(1+2+3+4)+.....(1+2+3+4+.....+n).

这个结果等于多少呢?请看下面数学证明。

证明过程:

数列各项是:

11+2

1+2+3

……1+2+3+……+n

由于:1+2+3+……+n=n(n+1)/2=(n+n)/21+2+……n=n(n+1)(2n+1)/6所以数列各项加起来就是:

s(n)=(1+1)/2+(2+2)/2+(3+3)/2+……+(n+n)/2

=[(1+2+3+……+n)+(1+2+3+……+n)]/2=[n(n+1)(2n+1)/6+n(n+1)/2]/2=n(n+1)[(2n+1)/6+1/2]/2=n(n+1)(n+2)/6

综上,结果为n(n+1)(n+2)/6,时间复杂度为o(n的立方)

k=0; for(i=1;i<=;i++){ for(j=i;j<=n;j++) k++ } k++ 为什么运行了n(n+1)/2 次阿

21楼:匿名用户

两层循环嵌

抄套,为了好bai理解,我标记成a,b

a:for(i=1;i<=n;i++)

第一轮:dua中的i=1,zhib为 for(j=1;j<=n;j++) b运行了1``

``n,所以dao是n次

第二轮:a中的i=2,b为 for(j=2;j<=n;j++) b运行了2````n,所以是n-1次

第三轮:a中的i=3,b为 for(j=3;j<=n;j++) b运行了3````n,所以是n-2次

。。。。

第n轮:a中的i=n,b为 for(j=n;j<=n;j++) b运行了n````n,所以是1次

所以总次数是,1+2+......n(次)= n(n+1)/2

22楼:宇昆鹏皇香

两层循环嵌套,为了好理解,我标记成a,b

a:for(i=1;i<=n;i++)

第一轮:a中的i=1,b为版

for(j=1;j<=n;j++)

b运行了1````n,所权以是n次

第二轮:a中的i=2,b为

for(j=2;j<=n;j++)

b运行了2````n,所以是n-1次

第三轮:a中的i=3,b为

for(j=3;j<=n;j++)

b运行了3````n,所以是n-2次

。。。。

第n轮:a中的i=n,b为

for(j=n;j<=n;j++)

b运行了n````n,所以是1次

所以总次数是,1+2+......n(次)=n(n+1)/2