版本一:超時,最后兩個測試點過不了,雙循環(huán)復(fù)雜度太大。
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n;
cin >> n;
vector<double> v(n+1);
double sum = 0.0;
for (int i=1;i<=n;i++){
cin >> v[i];
}
for (int i=1;i<=n;i++){
for (int j=n;j>=1;j--){
if (i+j==n+1)
sum += i*j*v[i];
}
}
printf("%.2f",sum);
return 0;
}
改進后:
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
double v[100005],sum = 0.0;
for (int i=1;i<=n;i++) cin >> v[i];
for (int i=1;i<=n;i++)
{
//sum += (i*(n+1-i)*v[i]);浮點數(shù)精度的問題
sum += (v[i]*(n-i+1)*i);
}
printf("%.2f",sum);
return 0;
}
分析:這道題太他么坑了,折磨人,浮點數(shù)位置不對導(dǎo)致精度丟失,計算機組成成原理學(xué)過竟然忘記了,太坑了
可以參考[https://www.cnblogs.com/huipengly/p/8423316.html](https://www.cnblogs.com/huipengly/p/8423316.html)
1049 數(shù)列的片段和 (20分)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 給定一個正數(shù)數(shù)列,我們可以從中截取任意的連續(xù)的幾個數(shù),稱為片段。例如,給定數(shù)列{ 0.1, 0.2, 0.3, 0...
- 給定一個正數(shù)數(shù)列,我們可以從中截取任意的連續(xù)的幾個數(shù),稱為片段。例如,給定數(shù)列 { 0.1, 0.2, 0.3, ...
- 【蝴蝶效應(yīng)】 蝴蝶效應(yīng):上個世紀(jì)70年代,美國一個名叫洛倫茲的氣象學(xué)家在解釋空氣系統(tǒng)理論時說,亞馬遜雨林一只蝴蝶...