如果是原本的简单相加,代码如下:
public static int su(int i){ int a = 0; for(int k = 0;k < i;k++){ a++; } return a; }
突然看到均值滤波,就想看看能不能实现在这个相加上。
首先我们可以发现:
public static int sumxx(int n) { int a, i, c; a = 15; i = 15; c = (n / 5) - 1; for (int k = 0; k < c; k++) { i += 25; a += i; } if (n % 5 != 0) { int b = n % 5; for (int k = 0; k < b; k++) { a += n; n--; } } if (n < 5) { a = 0; for (int k = 0; k < n; k++) { a += k; } } return a; }
我们需要把这个25给过滤出来
另外:当我用99999999 来测试时,第一个用时0.015 s,第二个用时0.058 s ,效率提高了 286 % ,真心给力。