2019 1 28 自主訓練日誌

2021-09-10 08:08:51 字數 877 閱讀 9352

訓練第八天,今天沒有選擇繼續看課本,刷了更多的題。簡單的題目做了幾道,用來攢點頭盾,也做了幾道難度適中的題目,難題沒有碰。

先說乙個相對簡單的題目:

請你幫小瓜將正整數n分解質因數,並從小到大輸出所有的質因數(如果乙個質因數出現多次,則輸出多次)。

輸入一行乙個正整數n,保證1<=n<=10^8。

輸出若干行,每行表示n的乙個質因數。按從小到大的順序輸出質因數。

輸入樣例

12輸出樣例22

3先說一下分解質因數的定義,比如12=223 也就是說乙個整數可以分解成幾個質數相乘的乘積,就是分解質因數。

從這一點入手,思路很簡單。

1、輸入乙個數整數num;

2、用迴圈從i=2開始一直遍歷到i<=num;

3、用這個數num%i求餘,判斷是否等於0,並且i!=num;

4、如果條件成立,就輸出i,並將num=num/i,i=2,重新遍歷,直到inum,就輸出num,並跳出迴圈,程式結束。

這個其實就是短除法,不斷縮小num的值,知道找出所有質因數,於是我想著寫乙個遞迴函式,直接求解,奈何自己能耐不足,不知道怎麼在函式內部將結果存在陣列裡。最後只得放棄函式,直接用迴圈解決。**實現如下

#include

using namespace std;

int main()

else

i++;

}for(i = 0;icout

}題目分析很簡單,思路清晰,但是**實現花費了太多時間,由此可見其實自己的基本功並不好,while迴圈結構用的不熟練,再就是轉化程式設計語句的能力太弱。只能靠做的題目多了來提高水平了!

明天計畫看完課本內容,自學51nod上的貪心演算法,另外刷點題,簡單的難的都要有。

2019 1 19 自主訓練日誌

今天第一次進行自主訓練,第一天就遇到了麻煩,廢話少說,直接上題目。如果乙個數字的十進位制表示中有7,我們就認為他是幸運數字。輸入兩個整數l,r 1 l r 100000 輸出所有滿足l n r的幸運數字n。從小到大輸出所有幸運數字,一行乙個。特別注意如果區間內有任何乙個幸運數字,輸出none。輸入樣...

2019 1 29 自主訓練日誌

先說一下貪心演算法 目前理解的程度 和它的名字一樣,貪心演算法是 短視 的,只顧眼前的利益,不考慮整體最優。假設每一步選擇都是不可逆的,每一步選擇之後都有多個選擇,而我們要做的就是選擇當前利益最高的那個選項,直到達到最終目的,然後再回頭看對於整體是否趨於最優。貪心演算法可以說是最簡單的一種思路,用每...

2019 2 2 自主訓練日誌

訓練第十三天,今天沒有ac乙個題目 先說一下這個做了一天的題目,noder咖啡館裡面有n個座位,每天會有若干個顧客來店裡面消費,會得到相應的服務。乙個顧客佔乙個位置,顧客離開之後位置就會空出來。如果顧客來了之後沒有位置,那麼顧客就會直接離開,也就得不到服務。現在已知座位數n,以及一天之內顧客來走的順...