1060 最複雜的數
ural 1748
基準時間限制:1 秒 空間限制:131072 kb 分值: 40
難度:4級演算法題
把乙個數的約數個數定義為該數的複雜程度,給出乙個n,求1-n中複雜程度最高的那個數。
例如:12的約數為:1 2 3 4 6 12,共6個數,所以12的複雜程度是6。如果有多個數複雜度相等,輸出最小的。
input
第1行:乙個數t,表示後面用作輸入測試的數的數量。(1 <= t <= 100)output第2 - t + 1行:t個數,表示需要計算的n。(1 <= n <= 10^18)
共t行,每行2個數用空格分開,第1個數是答案,第2個數是約數的數量。input示例
5110output示例1001000
10000
1 16 460 12
840 32
7560 64
新概念:反素數。
設f(n)等於n的約數個數,如f(6)=4. 對於乙個數n,對任意的自然數i(0反素數的所有質因子必須是從2開始的連續的若干個質數,並且指數遞減。
例如n=2^(t1) * 3^(t2) *5(^)t3. 則t1>=t2>=t3
所以我們進行暴力dfs即可
#includeusing namespace std;
long long n;
long long ans,hh;
int prime[100]=;
void dfs(long long dangqianzhi,long long dangqianyinzishu,long long shangyigeshu,long long cengshu)
}
51Nod 1060 最複雜的數
把乙個數的約數個數定義為該數的複雜程度,給出乙個n,求1 n中複雜程度最高的那個數。例如 12的約數為 1 2 3 4 6 12,共6個數,所以12的複雜程度是6。如果有多個數複雜度相等,輸出最小的。input 第1行 乙個數t,表示後面用作輸入測試的數的數量。1 t 100 第2 t 1行 t個數...
最複雜的數 51Nod 1060
反素數反素數 8005979?fr aladdin 題目等價於求1 n內最大的反素數 由其兩個性質 可以直接爆搜 還有注意細節處理 判斷當前值乘某個素因子是否符合條件時 要兩邊同除該素因子 否則爆long long include using namespace std define ll long...
51nod 1060 最複雜的數(反素數)
最複雜的數 學習 把乙個數的約數個數定義為該數的複雜程度,給出乙個n,求1 n中複雜程度最高的那個數。例如 12的約數為 1 2 3 4 6 12,共6個數,所以12的複雜程度是6。如果有多個數複雜度相等,輸出最小的。input 第1行 乙個數t,表示後面用作輸入測試的數的數量。1 t 100 第2...