國慶放假回來,繼續做一下華為機考題,確實難道不大,還是考基礎。廢話不多說,還是繼續刷題:
第一題是:質數因子。
功能:輸入乙個正整數,按照從小到大的順序輸出它的所有質數的因子(如180的質數因子為2 2 3 3 5 )
最後乙個數後面也要有空格
詳細描述:
函式介面說明:
public string getresult(long uldatainput)
輸入引數:
long uldatainput:輸入的正整數
返回值:
string
輸入描述:
輸入乙個long型整數輸出描述:
按照從小到大的順序輸出它的所有質數的因子,以空格隔開。最後乙個數後面也要有空格。輸入例子:
180輸出例子:
2 2 3 3 5解題思路:
借助數學的整除法,利用小於或等於這個數的素數去整除這個數,如果可以整除,將該素數進行儲存或直接輸出,所以這個題目的核心在於判斷乙個數是否為素數。
比如:180,我們先用n(這裡的n應該為2,3,4,5,6.。。。180或者是180,179,178,。。。5,4,3,2這種倒敘,這個取決於結果的輸出順序, 而且需要保證n是素數)去整除180,如果可以整除,然後不斷地除下去。
素數判斷,就是利用整除性質,特殊情況主要是1,2。
用c編寫的**如下:
#include int main()
else
}printf("\n");
} return 0;
}//判斷是否為素數
int iszhishu(int y)
很明顯,方法2比方法1效率更高,因為它循壞的次數大大降低。
華為OJ 質數因子
質數因子 功能 輸入乙個正整數,按照從小到大的順序輸出它的所有質數的因子 如 180的質數因子為 2 2 3 3 5 詳細描述 函式介面說明 public string getresult long uldatainput 輸入引數 long uldatainput 輸入的正整數 返回值 strin...
華為筆試 質數因子
功能 輸入乙個正整數,按照從小到大的順序輸出它的所有質數的因子 如180的質數因子為2 2 3 3 5 最後乙個數後面也要有空格 詳細描述 函式介面說明 public string getresult long uldatainput 輸入引數 long uldatainput 輸入的正整數 返回值...
華為機試 質數因子
題目描述 功能 輸入乙個正整數,按照從小到大的順序輸出它的所有質因子 如180的質因子為2 2 3 3 5 最後乙個數後面也要有空格 詳細描述 函式介面說明 public string getresult long uldatainput 輸入引數 long uldatainput 輸入的正整數 返...