PAT乙級 自測2

2021-08-07 02:14:01 字數 1620 閱讀 7521

自測題3 1014.因子個數

題目描述

乙個正整數可以分解成乙個或多個陣列的積。例如36=2*2*3*3,即包含2和3兩個因子。nowcoder最近在研究因子個數的分布規律,現在給出一系列正整數,他希望你開發乙個程式輸出每個正整數的因子個數。

輸入描述:

輸入包括多組資料。

每組資料僅有乙個整數n (2≤n≤100000)。

輸出描述:

對應每個整數,輸出其因子個數,每個結果佔一行。

輸入例子:

30

2620

輸出例子:

3

22

思路:

**1: 遞迴 73ms

#include

#include

using

namespace

std;

int cnt;

bool isprime(int n)

return

true;

}void countfactors(int n, int start)

else

countfactors(n, i+1);

return;}}

}}int main()

return0;}

**2: 迴圈巢狀 112ms

#include

#include

int main()

while(n%i==0)

}if(n != 1 ) //n為質數的情況

sum++;

printf("%d\n",sum);

}

return0;}

**3: 遞迴 超時超時超時!!!!!!!!

#include 

#include

#include

using

namespace

std;

vector

arr;//100000以內素數陣列

bool issushu(int n)

}return

true;

}int help(vector

&yinzi, vector

res, int n)else

flag = false;

break;

}res[arr[i]]++;

break;}}

if(!flag)

break;

}int countt = 0;

for(int i=0; i<=n; i++)

return yinzi[n] = countt;

}int main()

printf("%d\n", help(yinzi, res, n));

}return

0;}

PAT 自測2 素數對猜想

讓我們定義 dn 為 dn pn 1 pn,其中 pi 是第i個素數。顯然有 d1 1 且對於n 1有 dn 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 105 請計算不超過n的滿足猜想的素數對的個數。輸入格式 每個測試輸入包含1個測試用例,給出正整數n。輸出格式 ...

PAT 自測2 素數對猜想

自測 2 素數對猜想 20分 讓我們定義dnd n 為 dn pn 1 pnd n p n 1 p n 其中pip i 是第i i個素數。顯然有d1 1d 1 1,且對於n 1 n 1有dnd n 是偶數。素數對猜想 認為 存在無窮多對相鄰且差為2的素數 現給定任意正整數n 105 10 5 請計算...

PAT乙級 有幾個PAT

輸入只有一行,包含乙個字串,長度不超過105,只包含p,a,t三種字母。在一行中輸出給定字串中包含多少個pat。由於結果可能比較大,只輸出對1000000007取餘數的結果。2首先,這個題看完之後有點懵逼,然後仔細分析得出這三點 每個p對應的pat組合數量是a之前p的數量 每個a對應的pat組合數量...