當前位置:編程學習大全網 - 編程軟體 - 關於C++中的等差數列和等比數列求和的編程問題?

關於C++中的等差數列和等比數列求和的編程問題?

這就是用循環完成,我也不知道能不能說是模板,例如第壹個:

int nSum;

for(nSum = 0, int i = 1; i <= N; i++) // N為定義的壹個值,即妳給的公式的最後壹個n的值。

nSum += 2*i-1;

優化:由於是2*i,所以用移位更好:nSum += (i << 1) - 1;再有,由於每次減的都是常數1,乘的也是常數,所以可以這樣寫,更快:

int nSum;

for(nSum = 0, int i = 1; i <= N; i++)

nSum += i;

nSum = nSum << 1;

nSum -= (N+1);

其實這基本這已經將求和公式寫出來了,所以當然,妳也可以用公式將它們計算出來,這樣更快。

再如第二個:

long nProduct = 0;

for(int i = 0; i <= N; i++)

nProduct += 5 * power(2, i);

優化:不要調用power,用移位:nProduct += 5 *( 1 << i);

根據第壹個思路,進壹步優化妳自己也應該知道了吧。。。

  • 上一篇:寶馬3系和大眾cc怎麽選?
  • 下一篇:5min是什麽意思
  • copyright 2024編程學習大全網