日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Pat乙级 1049 数列的片段和

發(fā)布時(shí)間:2025/4/16 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Pat乙级 1049 数列的片段和 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Pat乙級(jí) 1049 數(shù)列的片段和

  • 思路
  • 代碼

題目網(wǎng)址
https://pintia.cn/problem-sets/994805260223102976/problems/994805275792359424

思路

觀察給出的數(shù)據(jù),得出規(guī)律,比如一共10個(gè)數(shù),第二個(gè)數(shù)出現(xiàn)的次數(shù)為 2 * (10 - 2 + 1)次,得到公式 result = i * (n - i + 1)。因?yàn)閐ouble的精度誤差問(wèn)題,用long long對(duì)數(shù)據(jù)進(jìn)行縮放再存儲(chǔ),最后再除。這里取1000參照了其他人的博客,跟測(cè)試數(shù)據(jù)是相關(guān)的,不是一個(gè)必然的解決方案。
累加的時(shí)候代碼中注釋掉的一行替換上來(lái)就過(guò)不了測(cè)試點(diǎn)2和測(cè)試點(diǎn)3,很奇怪,回頭還記得的話再看看。

代碼

#include<iostream> #include<iomanip>using namespace std;int main() {int n;long long sum = 0;double f;cin >> n;for (int i = 1; i <= n; i ++) {cin >> f;sum += (long long)(f * 1000) * i * (n - i + 1); // sum += i * (n - i + 1) * (long long)(f * 1000);}cout << setiosflags(ios::fixed) << setprecision(2) << sum /1000.0 << endl;return 0; }

總結(jié)

以上是生活随笔為你收集整理的Pat乙级 1049 数列的片段和的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。