1060 最複雜的數 (反素數)

2021-08-23 14:03:03 字數 1040 閱讀 4988

1060 最複雜的數

基準時間限制:1 秒 空間限制:131072 kb 分值: 40 難度:4級演算法題

把乙個數的約數個數定義為該數的複雜程度,給出乙個n,求1-n中複雜程度最高的那個數。

例如:12的約數為:1 2 3 4 6 12,共6個數,所以12的複雜程度是6。如果有多個數複雜度相等,輸出最小的。

input

第1行:乙個數t,表示後面用作輸入測試的數的數量。(1 <= t <= 100)

第2 - t + 1行:t個數,表示需要計算的n。(1 <= n <= 10^18)

output

共t行,每行2個數用空格分開,第1個數是答案,第2個數是約數的數量。
input示例

5110

1001000

10000

output示例

1 1

6 460 12

840 32

7560 64

反素數的定義:對於任何正整數數

從反素數的定義中可以看出兩個性質:

(1)乙個反素數的所有質因子必然是從2開始的連續若干個質數,因為反素數是保證約數個數為

(2)同樣的道理,如果

#include #include#include#define ll long long

using namespace std;

ll a[50005];

ll isprime[50005];

ll prime[50005];

ll sum,n,ans,res;

void init()}}

/*for(int i=0;i<15;i++)

cout

else if(num==ans)

for(int i=1;i<=pre;i++)

else

break;

}}void find()

return 0;

}

51nod 1060 最複雜的數(反素數)

最複雜的數 學習 把乙個數的約數個數定義為該數的複雜程度,給出乙個n,求1 n中複雜程度最高的那個數。例如 12的約數為 1 2 3 4 6 12,共6個數,所以12的複雜程度是6。如果有多個數複雜度相等,輸出最小的。input 第1行 乙個數t,表示後面用作輸入測試的數的數量。1 t 100 第2...

51nod 1060 最複雜的數 反素數

1060 最複雜的數 把乙個數的約數個數定義為該數的複雜程度,給出乙個n,求1 n中複雜程度最高的那個數。例如 12的約數為 1 2 3 4 6 12,共6個數,所以12的複雜程度是6。如果有多個數複雜度相等,輸出最小的。input 第1行 乙個數t,表示後面用作輸入測試的數的數量。1 t 100 ...

51nod 1060 最複雜的數(反素數)

include using namespace std 求 1,n 中約數最多的數和約數的個數 1 n e 18 反素數對於任何正整數x,其約數的個數記做g x 例如g 1 1,g 6 4.如果某個正整數x滿足 對於任意i 0 s2 s3 const int maxn 1e3 5 typedef l...