請問這道c 題目超時怎麼解決啊

2022-12-19 06:46:19 字數 1709 閱讀 8349

1樓:匿名使用者

解決這個問題要考慮以下幾點:

1, n >= 0時和n < 0時。

2,如果2^n的結果過大,即是一個變數儲存不下時該怎麼辦?

3,如何快速計算出2^n,使得演算法效率提高。

解答上訴問題:

1,當n < 0時,2^n為浮點數,而浮點數對%(取模運算)無效,所以不考慮。

2,當n >= 0 時,2^n即是將正整數2(其二進位制表示為10)左移n位。

3,n太大時,左移超出變數能表達的最大值,這時該怎麼辦?

給出取模運算的性質,a ^ b % p = ((a % p)^b) % p。

那麼當n太大時,可以考慮將n拆成n1 + n2。

有2^n % p = ((2^n1 % p)^n2) %p。

這樣就能解決n過大的問題了。

我只能給你思路,希望你能自己寫出滿意的**。

2樓:潮汐之湧動

思路:一直乘上2是十分耗時的,但是用另一種方法,比方說求某個數的64次方,那麼只要某個數的32次方乘以這個數的32次方就行了,說白了就是某個數的32次方自乘,這樣只需計算一次,而不用乘上2三十二次這種耗時的計算。實現方法可用上遞迴,當然不遞迴也行。

若57,分為28與29,28可分為14自乘,29為14乘15,這時更可以設一個陣列作備忘錄,即計算28的14自乘時把14次方的結果儲進陣列裡(每計出某個次方值時都儲進去),然後下次用時先看一看陣列有沒有存,比如29裡的14乘15,因為14次的之前已經計出結果,所以直接取出,而不用再次把14分成7自乘

c++的程式超時,怎麼辦? 5

3樓:旅春冬

需要效能調優,解決方案有以下幾個:

1、最直接的是重新採用新的演算法編寫,如果是一個專案,則需要考慮架構設計的調整。

2、間接的話,使用效能監視器(計時),檢視軟體的最耗時部分,根據2-8有原則,20%的**消耗80%的時間。然後調優效能瓶頸的那段**。

一道c語言題目,我的**超時了,,,怎麼破???

4樓:磯禈嘗矙

隨輸入 同時排序, 只保留前m個結果也就是說 對n-m部分不做排序 可以簡化演算法就是, 初始陣列為空, 元素為0個前m個資料, 按順序插入到陣列中。 超過m的資料, 從後向前比較, 如果比最後一個大,直接拋棄否則插入到對應位置,拋棄當前最後一個。一道c語言題目,我的**超時了,,,怎麼破???

一道超時的c++問題,求大神提供處理方法

5樓:匿名使用者

老大,10^n在n很大的時候,比如上限100000時是個什麼概念?1後邊有10萬個0, 假設cpu的執行++的速度是10g,也就是10*10^9=10^10, 則要計算完需要10^(100000-10)秒,一年才不到4*10^7,所以在宇宙湮滅之前都不要想算完啦。

當然,按你的**還不至於老是執行不完,原因是在c*=a時當n>10時會多次溢位。

得改演算法:

注意到1+2+...+n=n(n+1)/2

當n=10^k時, n(n+1)/2= 5*10^(k-1)*(10^k+1)

以數位的形式來看: 50...050...0, 即結果中的各位上只有0和5,且5只出現兩次,並將0分割為兩半,兩半0的個數一樣,都為k-1個。

因此對本題無需計算,直接輸出即可,不過要注意當輸入的n=0時,需要輸出的是1,不滿足之前討論。

請問這道題怎麼寫謝謝,請問這道題怎麼寫

等比數列求和問題,具體請看手寫 注意記憶等比數列通項公式。請問這道題怎麼寫,謝謝 正弦型函式y asin x 是周期函式,其週期為2 對稱軸 wx k 1 2 k z 對稱中心 wx k k z 把已和條件代入到原條件中就可以了。請問這道題怎麼寫?後面的構造成斜率,你就會了。記住,遇到問題不要直接看...

請問這道題怎麼做,請問這道題怎麼做

來自貼吧 tris al 兄弟這樣不太好吧,你用某音上的題考我,是想玩死我嗎?某音無時無刻不在提醒我是一個廢物。請問這道題怎麼做?解析 要求出梯形的面積,還必須知道梯形的商。陰影部分是一個三角形,它的高也就是梯形的高 231 2 22 21 cm 所以,梯形的面積是 22 34 21 2 588 c...

請問這道題怎樣做,請問這道題怎麼做?

解 電壓源來e單獨作用時,將自電流源is置零,相 當於開路。如圖b 相當於r2與r3串聯,整體再和r1並聯,r2 r3 5 5 10 req r1 r2 r3 5 i2 e req r1 r1 r2 r3 10 5 10 10 5 5 1 a 所求電流為並聯幹路電流在r2 r3支路上的分流,可理解為...