求c 函式中多個最大約數的最大值 5

時間 2024-12-27 00:50:10

求c++函式中多個最大約數的最大值

1樓:187a乙隻猹

一般建議還是給下時間限制和資料範圍。

下面是解題思路

易知f(x)僅和x本身有關,稍微推導可以知道f(x)是x本身除以它的最小素因數(且這個定義下f(1)不存在 )

考慮我們平時求素數的演算法,可以通過改造尤拉篩(埃氏篩也行)

來求f(x):

由於我們是從小以小數篩去大數,則當乙個數被篩掉時,篩它的數就是它的最小素因數,這時即可計算得到f(x)。

由於只有一次查詢我們不必記錄每個f(x),記錄最大值每次算出f(x)時更新即可。

複雜度:時間o(r) 空間o(r)

拓展

考慮當區間裡如果不是隻有乙個數字,則一定有偶數,最小素因數為2,而奇數的最小素因數不小於3。當r為偶數,f(r)>f(r-2)>.區間內奇數x顯然f(x)<=x/3f(r-3)>.

有f(r)<=r/3,而f(r-1)=(r-1)/2,當r>=3時f(r-1)>=f(r)同理易證f(r)大於區間內所有奇數x的f(x),則f(r-1)=(r-1)/2即為最大的f(x),r<3時顯然答案是1。

至於剩下乙個數的情況試除法。

找最小素因數即可。

複雜度:最壞時間o(sqrt(r)) 空間o(1) 隨機資料期望o(1) 空間o(1)

拓展2(其實是剛才我讀錯題了):

用上面的改造篩法求出每個f(x):m較小篩出m內f(x)直接建立陣列對映即可;m太大也可篩出sqrt(m)內素數再試除法(o(n)遍歷一遍序列找出最大值代替m然後平衡規劃思想(根據m大小選擇不同演算法)可優化)

剩下的尋找最大值的部分是乙個標準的rmq問題。

分塊、線段樹、單調佇列、st表。

等,解法很多。

複雜度:直接對映+st表:時間o(m+nlogn+t) 空間o(m+nlogn)

試除+st表:時間o(sqrt(m)+sqrt(m)n+nlogn+t) 空間o(sqrt(m)+nlogn)

這個函式最大值是怎麼求

2樓:西域牛仔王

<>用到均值中碰賣定賣逗吵碰理。

3樓:網友

y' =324(24-x)/(x+24)^3, 有唯一駐點 x = 24

導數從 x = 24 左邊 到 右邊春數 由正扒早首變負,則函式極大值即最大值是睜配 y(24) =27/8

求c語言程式:用乙個函式求n個數的最大值和最小值。。。

4樓:延樹花揭培

@741852963一。

樓上的朋友,對於你給的答案,我想說點我自己的想法,望不要見怪。

要的是乙個函式,需要在main

函式中進行呼叫,而不是要完整的main函式。

要的函式功能只要求。

求出最大值跟最小值,而不需要排序。

3。你的程式中用的是a[10],但n

是可以隨便輸入的,這就存在乙個問題:

n要是大於10時,a[n]

就會溢位。下面是我編寫的乙個程式,當然我不能保證它是完全正確的,希望大家提意見。

floatfun(int

n,float

a)prinft("max="%f,min=

f,max,min);

return0;}

5樓:景秀花戴念

額樓上的兩位可以在開頭的時候定義乙個巨集。

#define

nx(要求的數的個數)

這樣就解決了n個數的問題。

而且改起來也方便。

一次函式的最大值和最小值怎麼求

6樓:網友

解:因為sinx的取值範圍在[-1,1]之間,所以:當x=π/2+2kπ時,ymas=1-2=-1當x=-π/2+2kπ時,ymin=-1-2=-3答:

當x取π/2+2kπ時取最大值-1,x取-π/2+2kπ時取最小值-3。

求乙個函式的最大值和最小值

7樓:柴漪繆凱定

設向量m=[√緩豎巖(x+3),√擾御(1-x)],向纖答量n=(1,1),因為│向量m│*│向量n│≥向量m*向量n,所以√(x+3)+√1-x)≤2√2(當向量m與向量n共線等號成立,x=-1),因為x=-1有最小值,又函式x=-1兩邊單調,所以將x=-3和1分別帶入,比較大小,得最小值為2

8樓:檸酸

可以三角代換。

由題目-3x<1則。

x+1<2則。

x+1)/2<1

令。x+1)/2=sina

a屬於實數。

x=2sina-1

代入式子。得出關答畝於sina的式子再對輪慧等式兩邊平方,就能容易求出來,我要上課去了不好意思沒具臘舉答體算完。

方法2對關於x的等式直接。

求導。導數=0時有極值,這個方法最直接。

9樓:勞年輝琬琰

根據根式有意義虛薯的條件,差返者可得:

3<=x<=1

y^2=(x+3+1-x)+2sqrt((x+3)*(1-x))4+2sqrt(-(x+1)^2+4)

當-3<=x<=1時,易知。

0<=(x+1)^2+4)<=4

所以。4<=y^2<=8

由於。y>世櫻=0

所以。2<=y<=2sqrt(2)

所以。y的最大值是2sqrt(2),最小值是2

10樓:保琪稅夢寒

分析法。兩個根號都是增函式。

因此沒有最大值。

x=1時最小值為y=2

c 問題,數中求最大值,c 問題,三個數中求最大值

皋菡 c 提供一種高效率的方法,即在編譯時將呼叫的 直接嵌入到主呼叫函式中,而不是將流程轉出去,這種嵌入到主呼叫函式的函式稱為 內建函式 inlie function,又稱為內建函式 include using namespace std inline int max int,int,int 宣告函...

C語言題,求最大值?哪裡出錯了,C語言求最大值和最小值,幫我看一下哪裡有錯誤,謝謝!

你的輸入錯了,中間不要有,號 如圖就可以了 你的 可謂是邏輯混亂,中括號都不打,其他的我也看不下去了。我給你正確的 include main else else else printf d p if。和else如果不打中括號,只會執行if或者else後面第一個條語句,後面的語句就不屬於if或者els...

函式sinx cosx的最大值,求函式y sinx cosx sinxcosx,x 0, 的最大值和最小值

y sinx cosx 根號2 根號2 2sinx 根號2 2cosx 根號2 sin 4 因為 1 sin x 4 1,則 根號2 y 根號2 最大值為根號2 y sinx cosx 根號2 1 2根號2sinx 1 2根號2cosx 根號2 cos45度sinx sin45度cosx 根號2si...