c语言算法问题
求1×2×3×4×5。最原始方法:步骤1:先求1×2,得到结果2。步骤2:将步骤1得到的乘积2乘以3,得到结果6。步骤3:将6再乘以4,得24。步骤4:将24再乘以5,得...
求 1×2×3×4×5。
最原始方法:
步骤 1:先求 1×2,得到结果 2。
步骤 2:将步骤 1 得到的乘积 2 乘以 3,得到结果 6。
步骤 3:将 6 再乘以 4,得 24。
步骤 4:将 24 再乘以 5,得 120。
这样的算法虽然正确,但太繁。
改进的算法:
S1:使 t=1
S2:使 i=2
S3:使 t×i, 乘积仍然放在在变量 t 中,可表示为 t×i→t
S4:使 i 的值+1,即 i+1→i
谭浩强 C 语言程序设计 2001 年 5 月 1 日
S5:如果 i≤5,返回重新执行步骤 S3 以及其后的 S4 和 S5;否则,算法结束。
如果计算 100!只需将 S5:若 i≤5 改成 i≤100 即可。
中的 → 什么意思,还有下面部分我不懂,到底怎么算?
详细点
嘿嘿,还是不懂,还是告诉我怎么运算, 展开
最原始方法:
步骤 1:先求 1×2,得到结果 2。
步骤 2:将步骤 1 得到的乘积 2 乘以 3,得到结果 6。
步骤 3:将 6 再乘以 4,得 24。
步骤 4:将 24 再乘以 5,得 120。
这样的算法虽然正确,但太繁。
改进的算法:
S1:使 t=1
S2:使 i=2
S3:使 t×i, 乘积仍然放在在变量 t 中,可表示为 t×i→t
S4:使 i 的值+1,即 i+1→i
谭浩强 C 语言程序设计 2001 年 5 月 1 日
S5:如果 i≤5,返回重新执行步骤 S3 以及其后的 S4 和 S5;否则,算法结束。
如果计算 100!只需将 S5:若 i≤5 改成 i≤100 即可。
中的 → 什么意思,还有下面部分我不懂,到底怎么算?
详细点
嘿嘿,还是不懂,还是告诉我怎么运算, 展开
4个回答
展开全部
"→"的意思是等于,即t=t*i;S5的其实就是一个循环,翻译过来就是下面的一段代码:
while (i<=5)
{
t = t*i;
i++;
}
明白了吗?
好吧,我把运算步骤一步步的说给你看
首先是赋初值:t=1,i=2;
然后开始循环,在这道题中一共要做四次迭代(i从2到5),分别是i=2,i=3,i=4,i=5
第一次循环,即i=2时,t=t*i=1*2=2,注意此时t此时的值是2了(t=1*2);
然后对i作“++”运算,
接下来i=3,t=t*i=2*3=6; 此时t=1*2*3=6;
接着对i做“++”运算,
这时i=4,t=t*i=6*4=24;此时t=1*2*3*4=24;
接着对i做“++”运算,
这时i=5,t=t*i=24*5=120;此时t=1*2*3*4*5=120;
然后由于i不能大于5(我们可以在循环体中设置循环判断条件:i<=5),所以循环到此为止,
于是此时t 的值就是最终的运算结果。
从上面的循环过程可以看到,我们每次都把一次迭代后的计算结果赋值给t。
现在懂了吗?
while (i<=5)
{
t = t*i;
i++;
}
明白了吗?
好吧,我把运算步骤一步步的说给你看
首先是赋初值:t=1,i=2;
然后开始循环,在这道题中一共要做四次迭代(i从2到5),分别是i=2,i=3,i=4,i=5
第一次循环,即i=2时,t=t*i=1*2=2,注意此时t此时的值是2了(t=1*2);
然后对i作“++”运算,
接下来i=3,t=t*i=2*3=6; 此时t=1*2*3=6;
接着对i做“++”运算,
这时i=4,t=t*i=6*4=24;此时t=1*2*3*4=24;
接着对i做“++”运算,
这时i=5,t=t*i=24*5=120;此时t=1*2*3*4*5=120;
然后由于i不能大于5(我们可以在循环体中设置循环判断条件:i<=5),所以循环到此为止,
于是此时t 的值就是最终的运算结果。
从上面的循环过程可以看到,我们每次都把一次迭代后的计算结果赋值给t。
现在懂了吗?
展开全部
这个就是找到规律,用循环把问题解决
最原始方法:c实现
int a,b;
b=1*2;
a=b;
b=a*3;
a=b;
b=a*4;
a=b;
b=a*5;
改进的算法:
int a,i;
a=1;
for(i=2;i<=5;i++)
a*=i;
你说的那个 → ,是赋值的意思,就是说让txi保存在t空间中
最原始方法:c实现
int a,b;
b=1*2;
a=b;
b=a*3;
a=b;
b=a*4;
a=b;
b=a*5;
改进的算法:
int a,i;
a=1;
for(i=2;i<=5;i++)
a*=i;
你说的那个 → ,是赋值的意思,就是说让txi保存在t空间中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
——>那句话的意思相当于i=i+1;()S3处的)
S5步的意思相当于if(i<=5),goto S3;这样应该很明白了吧
S5步的意思相当于if(i<=5),goto S3;这样应该很明白了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
t = t*i ? 赋值?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询