求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...