1樓:網友
用二分法要省好多力 ,不會可以給我發訊息。基本思想就是8的開方肯定在2與3之間,然後取的平方,跟8比較,再視大小選擇結果在與3之間:計算的次數(大型程式設計中很important)比你的少n倍,而且精度可以更高更高甚至更高。
看來你是非要用這個方法了;不妨說下。通過你的程式修改的。具體如下(試驗有):
#include""
#include""
void main(void)
double x;
for(x=;x<3;x+=1e-9)
if(fabs(x*x-8)<1e-8)
printf("%16lf",x);
為了節省時間,我將(0,8)的區間改成(,3)了。改之後,我單核的電腦竟然執行了15秒之久。
由此可以看到另乙個問題:程式設計,優化演算法非常重要。
2樓:雪月之殤
if判斷中使用的精度太極端太小,1e-8,而你for裡面每次x加的是。平方之後大於1e-8。
而且我試了幾下,把for裡面改為x+=1e-8照樣不出結果。
只有把if裡面的改為<1e-2才出結果。
而且你的輸出使用的是%,你也沒有必要算到那麼高的精度嘛……
求解釋一下 執行迴圈語句for(x=0,y=0;(x!=3)&&(x<8);x++)y
3樓:
迴圈到x為3時,結束迴圈,所以y的值為3。
01揹包問題,這個迴圈:for(j=m;j>=x;j--)代表什麼? a[j]是不是代表j元可以買得的最大價值?
4樓:網友
for(j=m;j>=x;j--)=for j:=m downto x do
a[j]就是代表j元可以買得的最大價值?
0.01 迴圈1 +0.02 迴圈2 ......+0.08 迴圈
5樓:網友
迴圈小數化成分數計算才是準確的,需要注意下【方法1最簡單明瞭】
設x=;則10x=;那麼10x-x=可以求出x=1/90同樣的道理,所以 迴圈1 + 迴圈2 ..迴圈8=11/90=【方法2介紹一下極限的概念】
極限的概念是在高中數學出現。
等比數列求和。
n趨於無窮大。
同樣的道理,所以 迴圈1 + 迴圈2 ..迴圈8=11/90=
01揹包問題 第二個迴圈為什麼是for (int v = v; v >= c[i]; --v)
6樓:網友
學習精神不錯。
f[v]是表示包容量為v時候的價值。
你的追問中有理解錯誤:
那麼第i個物品不放的價值,肯定小於第i個物品放的價值啊?
一般理解這是正確的,但是這是乙個有容量限制的問題,要是前面已經滿了的話可能第i個物品再也放不進去啊,這樣你的理解就錯了。
思路:包的容量為v吧,第i個物品體積c[i],價值w[i],f[v]表示包容量為v時候能夠裝的價值。
現在第i個物品還沒有裝:f[v]表示包中裝的前i-1個物品的價值。
我要裝i物品的話:它佔用了c[i]的容量,獲得w[i]價值,那麼前面的i-1個物品就只能佔用v-c[i]的空間,否則現在就裝不下。
這樣如果裝i的話,利益就是f[v-c[i]]+w[i]
所以要比較裝i的價值f[v-c[i]]+w[i]和不裝i的價值f[v]
你說不用比較,但你想想:v的容量裝前i-1個物品的價值肯定要大於等於v-c[i]的容量裝的i-1個物品吧,這樣f[v-c[i]]<=f[v],此時f[v-c[i]]+w[i]和f[v]的大小當然難以確定只能比較。你的誤區在於人為f[v-c[i]]=f[v],但是有可能v-c[i]裝不下v那麼多啊。
寫了這麼多,希望對你有幫助。
以下for迴圈是( )。 for(x=0,y=0;(y!=123) && (x<4);x++) a) 無限迴圈 b) 迴圈次數不定
7樓:壞99滯躺
c x=0, 1, 2, 3的時候執行迴圈,共4次,x=4結束迴圈,因為x<4條件為false,也就是for迴圈第二個條件為false,結束迴圈。求。
用for迴圈處理
8樓:網友
int nletters = 0;// 字母int nnumber = 0;// 數字int nspace = 0;// 空格。
int nother = 0; // 其他for (i = 0; ps[i]; i++)printf("字母字元個數:%d數字字元個數:%d空格字元個數:
d其他字元個數:%d",nletters,nnumber,nspace,nother);
5x x 8解方程,7 5X 6 x 8的方程怎麼解?
當x 0時,原方程即 5x x 8 4x 8 x 2當x 0時,原方程即 5x x 8 x 4 3 不合題意,捨去 x 2是原方程的解 解當x 0時,原式化為 4x 8 x 2當x 0時,原式化為 5x x 8 6x 8 x 4 3 捨去 方程的解為 x 2 數學輔導團 為您解答,不理解請追問,理解...
方程X X 1 5 X 1 的解是
解 x x 1 5 x 1 右邊移到等號左邊,得 x x 1 5 x 1 0 合併同類項,得 x 5 x 1 0 因此 x 1 0 或者x 5 0 解得 x 1或者5 x x 1 5 x 1 解 x x 1 5 x 1 0 x 1 x 5 0 x 1 0或x 5 0 即x 1或5 x x 1 5 x...
懂華碩A7N8X X的請進
nforce2 400 ultra系列主機板用的是mcp或者mcp t南橋,它都不支援sata 因為這個南橋其實出來的更早一點,nforce2 spp igp都是用的這樣的南橋。k7主機板,印象中只有後期的kt600提供了兩個sata口,後期部分nforce2用第三方晶元提供sata口。事實上3也是...