如何计算以下伪代码的封闭形式?

How to calculate closed form for following pseudocode?

我需要帮助解决以下问题:

分析以下程序片段的 运行 时间并编写伪代码(在 C++ 中),它将输出此值但在恒定时间内运行。你可以假设 n 在程序的前面给出。

 sum = 0
 for i from 1 to n-1 do
   for j from i to n*n do
     sum = sum + i

我在做什么:我知道以下程序片段的时间复杂度为 O(n2) 并且:

sum = n*n*(n)*(n-1)/2-(n-1)*n*(2*(n-1)+1)/6+(n-1)*n/2;

我不确定如何将其转换为伪代码格式。任何帮助将不胜感激,谢谢!

 sum <- n*n*(n)*(n-1)/2-(n-1)*n*(2*(n-1)+1)/6+(n-1)*n/2

就是这样。当你知道闭式公式时,就不需要循环了。

这样的公式计算时间复杂度恒定