有一个问题不能懂,麻烦指教下

pbw15 2010-02-25 10:15:23
<script language="javascript">
var i=0;
var iSum=0;
while(i<=100)
{
iSum+=i;
i++;
}
document.write("1-100的所有数之和为"+iSum);
</script>

这条语句是求1-100之和
为什么要用while循环语句呢,用for不是更简单吗
还有i++为什么要放在isum+=i下面呀
i++应该是个递增效果啊
他们两个颠倒效果不一样的
有谁帮忙解释下
...全文
131 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝色_冰点 2010-02-27
  • 打赏
  • 举报
回复
var num1=1,num2=100;
var total=(num1+num2)*num2/2;

这才是最简单的,那么经典的故事都忘了?
xmliy 2010-02-26
  • 打赏
  • 举报
回复
var i = 0, iSum = 0;
while(i <= 100) iSum += i++;

这样更简洁
xfcdxg 2010-02-26
  • 打赏
  • 举报
回复
引用 5 楼 windzjp 的回复:
结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴
pbw15 2010-02-25
  • 打赏
  • 举报
回复
算是搞清楚了
如果要我去运用的话
肯定还不行
  • 打赏
  • 举报
回复
i++ == i=i+1
iSum+=i == iSum=iSum+i
  • 打赏
  • 举报
回复
在这个问题上,用for或是用while是你自己爱好的问题.没有哪个好哪个不好


i++放上面和放下面当然是不同的

就拿第一轮来说
如果i++在下面 运行后 iSum=0 i=1

如果i++在上面 运行后 iSum=1 i=1
一弗楚 2010-02-25
  • 打赏
  • 举报
回复
用while还是for自己选择,效果一样

i++如果放在isum+=i上面的话,就是1-101之和了
可以这样
while(i <100)
{
i++;
iSum+=i;
}
  • 打赏
  • 举报
回复
结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴结贴
内容概要:本文围绕“多主体综合能源系统+分布式ADMM研究”展开,系统阐述了交替方向乘子法(ADMM)在多主体综合能源系统中的分布式优化应用,提供了完整的Matlab代码实现。研究聚焦于多利益主体之间的协同优化问题,通过建立合理的数学模型,采用ADMM算法实现去中心化的求解架构,有效保障各主体的数据隐私性与决策自主性,同时提升整体系统的计算效率与优化性能。内容涵盖系统建模、优化问题分解、ADMM迭代求解流程、收敛性验证及结果分析,具有较强的理论深度与工程实践价值,适用于能源互联网、微电网群、园区综合能源系统等复杂场景的能量管理与协调调度。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的研究生、高校科研人员,以及从事综合能源系统规划、微电网优化、分布式能源管理等方向的工程技术人员。; 使用场景及目标:①应用于多主体参与的综合能源系统能量管理与协同优化调度;②帮助读者深入理解ADMM算法的分解-协调机制及其在分布式优化中的具体实现,支撑高水平学术论文复现、科研课题攻关或实际工程项目开发;③推动智能电网与能源互联网中去中心化、隐私保护型优化调度技术的发展与落地; 阅读建议:建议读者结合文中提供的Matlab代码进行动手实践,逐行调试并可视化关键变量的迭代过程,深入掌握ADMM算法的参数设置、收敛判据及数值稳定性处理技巧,并尝试将其拓展至电动汽车集群调度、多微电网互动、可再生能源消纳等其他分布式优化应用场景中进行仿真验证。

87,987

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧