有一道譚浩強的例題我不懂它是什麼意思,望高手詳細講解下那個過

2021-08-19 17:57:13 字數 1366 閱讀 9164

1樓:智慧型有一筐

題目:計算1-1/2+1/3-1/4……+1/99-1/100的結果

邏輯分析:

這是乙個有規律的混合表示式。加減號交替出現,分子不變,分母依次遞增

所以可以用乙個迴圈來完成計算

文中「s8:若deno小於或等於100,返回s4;否則,結束」就是迴圈的判定條件和迴圈範圍——100次,s4 s5 s6 s7是迴圈體

變數分析:

sigh —— 符號

sum —— 和,也就是計算結果

deno —— 分母

term —— 乙個分數

**還原:

(這段**流程是對的,細節是錯的,後面會說)

void main(void)

while(deno <= 100); //s8

}**分析:

表面看是對的,但有兩個問題

1、float浮點型別是不精確的

2、因為deno是int型別,所以1/deno恒為0

對於第2點,可以勉強用一堆強制型別轉換搞定

但是因為第1點,即使轉為了float或doublefloat,結果也是不夠精確的

因為在每次計算1/deno時,誤差都在累積

綜上,樓主的演算法在對計算結果有較高要求時,不適合用c語言來實現

若一定要用c來計算乙個較為精確的結果,我們就得用c中的精確型別來計算——int

首先假設2、3、4、5…100所有分母的最小公倍數是n

然後把計算式改寫:(n-n/2+n/3-n/4+…+n/99-n/100)/n

改寫後每乙個分數計算式的結果就都是整數了,誤差消除了

唯一的誤差產生位置是括號外的「/n」

所以這樣計算出來的結果比較精確

至於最小公倍數的計算方法,我記得書上應該有,樓主自己查查吧 (^_^)v

2樓:忍城暗影忍者

呃…………首先我也沒弄懂你這題的運算方法……是1-1/2+1/3麼?

還有,s7是不是deno=deno+2?sum按理說是和值,可是s6卻並非將和累加,而是操作term,這就讓我不解了……按理說應該是sum=sum+term吧…………

我感覺這個想法好亂…………我說說我的想法吧……應該也差不多……s1:sigh=1

s2:sum=1

s3:deno=2

s4:sigh=(-1)*(1/deno)s5:term=sigh*(1/(deno-1))s6:sum=sum+term

s7:deno=deno+2

s8:若deno小於或等於100,返回s4;否則,返回sum的值,結束。

跪求c++教學**或者論壇~~郝斌的太磨嘰,譚浩強據說是誤導教學。我有一些c語言基礎語法,謝謝分享 30

現有一道高一數學例題,在該例題的第二種解法中,有些地方看不懂,不知能不能請大家幫忙給指教一下

解法二的bai思路就是考du慮正弦函式 值相同的角zhi的關係,兩個角 dao,如果正弦值相同回 的話那麼就有 答 2n 1 或者 2n 綜合一下 就是 k k為奇數 k k為偶數 所以可以寫成 k 1 k k z接下來只要把4x和5x分別替代 和 就好了 sin5x sin4x 則5x k 1 k...

一道遺產的例題 求詳細的答案,簡述遺產的概念和範圍

首先要對三萬元存款進行認定,是夫妻共同財產還是甲個人財產。如果是共同的,應該拿出一萬五按照法定繼承順序分配,即一子一女,父母和妻子五人分這一萬五。如果認定是甲個人財產,那麼這三萬由上述五人分配,其弟不參與分配。你好。根據 中華人民共和國繼承法 處理結果 乙 子女二人 父母二人平分,各六千,其弟屬於第...

一道物理題的解答中有地方看不懂,一道物理題的解答中有乙個地方看不懂

這個m v 這是體積符號 體積 橫截面積 高。這道題中求的是單位時間內的質量,所以高 速度 時間,以為是單位時間,所以t 1 所以就演變成以上的試子。一道高二物理題,有解析,但是有乙個地方不懂,望解答!這裡涉及到兩種分析方法 整體分析和隔離分析 整體法要求物體各個部位的運動狀態都相同,或者是加速度相...