for迴圈優化

2021-08-29 14:19:26 字數 528 閱讀 6152

某些情況下我們可以不使用迴圈而達到迴圈求解的效果。這裡我想介紹一種for迴圈的優化。

例項情況:已知變數n值,求i值

int sum = 0, int i = 0;

while(sum < n)

sum += ++i;

system.out.println("i = " + i);

注:int sum = 0, int i = 1;

while(sum < n)

sum += i++;

system.out.println("i = " + i);

上面的這段**錯誤!!!原因在於i值比要求的值大1!

繼續正題,從例項情況和例項**中我們可以知道以下兩種情況:

1)i(i-1)/2 < n

2)(i+1)i/2 >= n

則只需對(i+1)i/2 >= n一元二次不等式求解,求出i的最小正整數即可。

**求解如下:

i = math.ceil((math.sqrt(8 * n + 1) - 1) / 2);

python優化迴圈 Python 優化迴圈

我希望優化一些由兩個巢狀迴圈組成的 python 我對numpy並不那麼熟悉,但據我所知,它應該能夠幫助我提高這項任務的效率.下面是我編寫的測試 它反映了實際 中發生的情況.目前使用numpy範圍和迭代器比通常的python更慢.我究竟做錯了什麼?這個問題的最佳解決方案是什麼?謝謝你的幫助!impo...

for迴圈優化

1.原 for int i 0 i 1000 i for int j 0 j 100 j for int k 0 k 10 k testfunction i,j,k 優化方案一 for int i 0 i 10 i for int j 0 j 100 j for int k 0 k 1000 k t...

for迴圈優化

例子 for int i 0 i 1000 i for int j 0 j 100 j for int k 0 k 10 k test i,j,k 對例子進行分析 首先要了解到,對於上面的 無論我們想如何進行優化,test方法執行的次數是固定的,這方面不存在優化的可能。此時,我們要想,那麼該如何優化...