正文图片显示需使用非Chrome无跨域限制的浏览器
最近在践行代码,先把尚学堂的习题做完,遇到有点代表的就发个日志。以下算法时间复杂度为N,还可以。这个好像是用了某种算法,具体叫动态规划法。
12345678910111213141516
/* 103. 【上机】编程求:∑1+∑2+……+∑100 这里输入最大数100作为参数 */ public void sigma(int num){ //利用数组记录∑n的值,数组的index=n,特征:∑n=∑(n-1)+n //数组下标等于数字,数组index为0的丢弃 int[] array_tmp=new int[num+1]; int sum=0; for(int i=1;i<num+1;i++){ //数组index为0时,默认值0,可直接迭代 array_tmp[i]=array_tmp[i-1]+i; sum=sum+array_tmp[i]; } System.out.println("∑1+∑2+……+∑"+num+"的和为:"+sum); }
∑1+∑2+……+∑100的和为:171700
物有本末,事有终始。知所先后,则近道矣!