1049 數列的片段和 20分

2021-10-02 05:34:22 字數 556 閱讀 8158

一道找規律的題,所以說做題的時候草稿紙還是必須擺上的~

記錄一下這道題的原因是因為,即使你推出了公式,不注意精度和溢位問題這道題的第三個測試點還是會wa

一開始我寫的是ans+=(n+1-i)*i*num[i];但是wa了,原因就在於(n+1-i)*i大於了int 的最大範圍

(可能看來在運算中間過程時,int*int的結果雖然沒有賦值給某個變數,但程式預設這還是個int的數?!)

可以把1.for(int i=1;i<=n;i++)改為for(long long i=1;i<=n;i++)

或者是2.把ans+=(n+1-i)*i*num[i];改為ans+=num[i]*(n+1-i)*i;

#include#includeusing namespace std;

const int maxn=1e5+100;

double num[maxn];

int n;

int main()

printf("%.2lf\n",ans);

return 0;

}

1049 數列的片段和 (20 分)

1049 數列的片段和 20 分 給定乙個正數數列,我們可以從中擷取任意的連續的幾個數,稱為片段。例如,給定數列 我們有 0.1 0.1,0.2 0.1,0.2,0.3 0.1,0.2,0.3,0.4 0.2 0.2,0.3 0.2,0.3,0.4 0.3 0.3,0.4 0.4 這 10 個片段。...

1049 數列的片段和 (20 分)

1049 數列的片段和 20 分 給定乙個正數數列,我們可以從中擷取任意的連續的幾個數,稱為片段。例如,給定數列 我們有 0.1 0.1,0.2 0.1,0.2,0.3 0.1,0.2,0.3,0.4 0.2 0.2,0.3 0.2,0.3,0.4 0.3 0.3,0.4 0.4 這 10 個片段。...

1049 數列的片段和 (20 分)

給定乙個正數數列,我們可以從中擷取任意的連續的幾個數,稱為片段。例如,給定數列 我們有 0.1 0.1,0.2 0.1,0.2,0.3 0.1,0.2,0.3,0.4 0.2 0.2,0.3 0.2,0.3,0.4 0.3 0.3,0.4 0.4 這 10 個片段。給定正整數數列,求出全部片段包含的...