演算法競賽入門經典(劉汝佳) 習題2 4子串行的和

2021-10-24 17:07:07 字數 749 閱讀 1712

樣例輸入:

2 465536 655360

0 0樣例輸出:

case 1:0.42361

case 2:0.00001

分析:

輸出保留5位小數

輸入包含多組資料(這意味著資料是成批的,是一堆放在一起的,需要自己確定那幾個資料是本次需要的)

結束標記:n=m=0,表示n和m中任意乙個都不為零

n6本題有陷阱(陷阱一般都是在執行中發現,詳見最後題解)

**:

//演算法競賽入門經典

//習題2-1子串行的和

#include

intmain()

count++

;printf

("case%d:%.5f\n"

,count,sum);}

return0;

}

題解:本題的陷阱主要在「sum=sum+1.0/i/i;」語句中,你是否覺得**中的兩個相除很難受,從而是這樣表達該語句的:sum=sum+1.0/(i*i);那麼你可能遇到了如下情況:

出現上述情況的原因在於:n的值過大,從而 i的值也很大,在計算 i * i 時發生了乘法溢位。

劉汝佳《演算法競賽入門經典》索引筆記

2015年4月30日 acm學習技巧 14 浮點數陷阱 18 include 22 fopen input.txt r stdin 25 ifdef 26 lld 29 大陣列在main外面宣告 34 memset a,0,sizeof a 35 count 濫用 40 linux換行符問題 41 ...

演算法競賽入門經典 劉汝佳 第七章暴力

0 1 增量構造法 include include include include using namespace std int n,t 100 ans 100 void solve int cur,int tpre int main return 0 2 位向量法vis i 1表示選中t i 這...

《演算法競賽 入門經典》劉汝佳第四章

象棋uva1589 題目 給定乙個棋局,黑方僅剩一將,紅方剩2 7個棋子,型別有g 帥 h 馬 r 車 c 炮 現輪黑方走,判斷黑方下完後是否為輸,輸則輸出yes,不輸則 輸出no。輸入第一行n,x,y,接下去行,每行型別 ch 座標 x,y 以0 0 0為輸 入終止。sample 輸入 5 1 5...