計算機機試題 分解素因數

2021-08-21 08:59:51 字數 649 閱讀 7297

求正整數n(n>1)的質因數的個數。 

相同的質因數需要重複計算。如120=2*2*2*3*5,共有5個質因數。

可能有多組測試資料,每組測試資料的輸入是乙個正整數n,(1< n< 10^9)。

對於每組資料,輸出n的質因數的個數。

120
5
注意:1不是n的質因數;若n為質數,n是n的質因數。

**如下:

#include#includeint prime[100001];

bool mark[100001];

int primesize;

void init() }}

int main()

{ init();

int n;

while(scanf_s("%d", &n)!=eof)

{ int ansprime[30]; //按順序儲存分解出的素因數

int anssize = 0; // 分解出素因數的個數

int ansnum[30]; // 儲存素因數對應出的冪指數

for(int i=0; i思路如下:求乙個數的質因數,質因數一定是素數,所以我們先求出所有的素數,迴圈去除,有的可能需要除幾次,需要進行記錄。

王道機試練習 分解素因數

求正整數 n n 1 的質因數的個數。相同的質因數需要重複計算。如 120 22235 共有 5 個質因數。輸入 可能有多組測試資料,每組測試資料的輸入是乙個正整數 n,1該 按照如下步驟對輸入的整數分解素因數 1.利用素數篩法篩得 0 到 100000 區間內所有素數。2.輸入 n。3.依次測試步...

計算機機試題 棧的使用

c有乙個棧的模版庫 include,裡面提供一些標準方法。1 s.push i 向堆疊中壓進乙個數值為i的元素。2 int x s.top 讀取棧頂元素,並將其值賦給x 3 s.pop 彈出棧頂元素 題目描述 在某個字串 長度不超過100 中有左括號 右括號和大小寫字母 規定 與常見的算數式子一樣 ...

計算機機試題 哈夫曼樹

題目描述 哈夫曼樹,第一行輸入乙個數n,表示葉結點的個數。需要用這些葉結點生成哈夫曼樹,根據哈夫曼樹的概念,這些結點有權值,即weight,題目需要輸出所有結點的值與權值的乘積之和。輸入 輸入有多組資料。每組第一行輸入乙個數n,接著輸入n個葉節點 葉節點權值不超過100,2 n 1000 輸出 輸出...