練習4(這次的有點水)

2022-09-03 22:03:20 字數 4313 閱讀 4877

問題 b: 習題5-11

求多次落地彈球高度

時間限制:

1 sec 記憶體限制: 12

mb提交:

213 解決: 31

外部匯入

提交狀態討論版

題目描述

乙個球從100m的高度自由落下,每次落地後**回原高度的一半,再落下,再**。

求它從第一次落地時,到第n次落地時,共經過了多少公尺,第n次**多高。

輸入 乙個正整數n,表示球落地的次數。

輸出 length=球第n次落地時所經過了距離

high=球第n次落地**的高度

小數點後保留4位小數。

注意:末尾輸出換行。

樣例輸入 copy

10樣例輸出 copy

length=199.8047

high=0.0977

#includeusing

namespace

std;

intmain()

printf(

"length=%.4f\n

",s);

printf(

"high=%.4f\n

",b);

}return0;

}

這道題好像有爭議。。。但是從樣例來看,小球落地距離是沒有算彈上來的距離的。

問題 a: 習題5-9

完數時間限制:

1 sec 記憶體限制: 12

mb提交:

55 解決: 29

外部匯入

提交狀態討論版

題目描述

乙個數如果恰好等於它的因子和,這個數就稱為「完數」。例如,6的因子為1,

2,3,而6=1+2+3

,所以6是「完數」。

程式設計輸出1000以內的所有完數,每個完數輸出一行,並按下面的格式輸出其因子:

6 its factors are 1,2,3

輸入 無

輸出 每個完數輸出一行,並按下面的格式輸出其因子:

? its factors are ?,?,?樣例輸入 copy

無樣例輸出 copy

6 its factors are 1,2,3

28 its factors are 1,2,4,7,14

496 its factors are 1,2,4,8,16,31,62,124,248

提示 因子包含1但不包含其本身。

int

main()

if(n==s)

cout

<}

}return0;

}

(我的cb崩掉了,改用vs,所以標頭檔案一大堆。。。所以不貼標頭檔案了)

問題 c: 二分搜尋(遞迴)

時間限制:

1 sec 記憶體限制: 256

mb提交:

0 解決: 0

外部匯入

提交狀態討論版

題目描述

使用遞迴演算法,實現二分搜尋。

輸入 多組資料輸入,每組第乙個數字為陣列的長度n,然後輸入n個整數,最後輸入待查詢的值。

輸出 輸出待查詢值所在的位置,如果沒有找到,則返回-1

。 樣例輸入 copy 31

2324

0134

2樣例輸出 copy

2-1

int f(int a,int x,int l,int

r) //傳進陣列,key數,左右下標

intmain()

cin>>x;

sort(a,a+n);

int s=f(a,x,0,n-1

);

if(s==-1

) cout

<<-1

return0;

}

一直遞迴,遞迴到遞迴結束條件;

問題 d: 二分搜尋(非遞迴)

時間限制:

1 sec 記憶體限制: 256

mb提交:

0 解決: 0

外部匯入

提交狀態討論版

題目描述

使用非遞迴演算法,實現二分搜尋。

輸入 多組資料輸入,每組第乙個數字為陣列的長度n,然後輸入n個整數,最後輸入待查詢的值。

輸出 輸出待查詢值所在的位置,如果沒有找到,則返回-1

。 樣例輸入 copy 31

2324

0134

2樣例輸出 copy 2-1

int f(int a,int x,int

n)

return -1;}

intmain()

cin>>x;

sort(a,a+n);

int s=f(a,x,n);

if(s==-1

) cout

<<-1

return0;

}

非遞迴:用while迴圈

問題 e: 陣列合併

時間限制:

1 sec 記憶體限制: 256

mb提交:

0 解決: 0

外部匯入

提交狀態討論版

題目描述

編寫乙個程式,將兩個有序陣列合併成乙個更大的有序陣列,要求時間複雜度為o(n)。

輸入 多組資料輸入,每組輸入包括兩行,每行第乙個數字為陣列長度n,然後輸入n個有序整數。

輸出 輸出合併後的陣列(公升序),每組輸出用乙個空行隔開。

樣例輸入 copy 31

3532

4621

2434

56樣例輸出 copy 12

3456

1234

56

void mm(int a,int b,int s,int m,int

t)

while(i<=m)

b[k++]=a[i++];

while(j<=t)

b[k++]=a[j++];}

intmain()

return0;

}

問題 g: 線性搜尋

時間限制:

1 sec 記憶體限制: 64

mb提交:

0 解決: 0

201501010119

提交狀態討論版

題目描述

請編寫乙個程式,輸入包含n(n

<=10000)個整數的數列s以及包含q個(q<=500

)不重複整數的數列t,輸出既包含於t也包含於s的整數的個數c。s、t中的元素均大於0且小於109,t的元素不重複。

輸入 第一行輸入n,第二行輸入代表s的n個整數,第三行輸入q,第四行輸入代表t的q個整數。

輸出 用1行輸出c。

樣例輸入 copy 51

2345

3341

樣例輸出 copy

3

int f(int a,int x,int

n)

return -1;}

intmain()

cout

}return0;

}

問題 f: 歸併排序

時間限制:

1 sec 記憶體限制: 256

mb提交:

0 解決: 0

外部匯入

提交狀態討論版

題目描述

編寫乙個程式,使用分治策略實現二路歸併排序(公升序)。

輸入 多組輸入,每組第乙個數字為陣列長度,然後輸入乙個一維整型陣列。

輸出 輸出排序之後(公升序)的一維整型陣列,每組輸出佔一行。

樣例輸入 copy 61

8653

45124225

8樣例輸出 copy 13

4568

25812

42

void m(int a,int l,int r,int

mid)

else

if(j>r)

else

if(b[i-l]>b[j-l])

else

} }

void ms(int a,int l,int

r)

intmain()

return0;

}

微信這次的更新,有點意思!

10 月 2 號,微信發布了 7.0.17 版本,相比之前的遞進式更新,這次版本號直接跳了兩個,上乙個是 7.0.15。這次更新的內容還挺多的,其中有幾個我覺得比較有意思的,跟你們分享下。第乙個,青少年模式。微信發展到現在,已經不再是乙個簡單的溝通工具,它集合了溝通 社交 購物 娛樂 遊戲 資訊等多...

字串比較 最簡單的方法(有點水)

time limit 1000ms memory limit 10000k 請使用字串比較函式,比較兩個字串的大小,並按要求輸出比較後的結果。字串最長不超過15個字元。輸入兩個字串str1和str2,如果第乙個字串與第二個字串相等,輸出str1 str2,如果第乙個字串大於第二個字串,輸出str1 ...

4 盛最多水的容器(中等)

給你 n 個非負整數 a1,a2,an,每個數代表座標中的乙個點 i,ai 在座標內畫 n 條垂直線,垂直線 i 的兩個端點分別為 i,ai 和 i,0 找出其中的兩條線,使得它們與 x 軸共同構成的容器可以容納最多的水。說明 你不能傾斜容器,且 n 的值至少為 2。圖中垂直線代表輸入陣列 1,8,...