1179 最大的最大公約數
sgu基準時間限制:1 秒 空間限制:131072 kb 分值: 40
難度:4級演算法題
給出n個正整數,找出n個數兩兩之間最大公約數的最大值。例如:n = 4,4個數為:9 15 25 16,兩兩之間最大公約數的最大值是15同25的最大公約數5。
input
第1行:乙個數n,表示輸入正整數的數量。(2 <= n <= 50000)output第2 - n + 1行:每行1個數,對應輸入的正整數.(1 <= s[i] <= 1000000)
輸出兩兩之間最大公約數的最大值。input示例
4915output示例2516
5題意:給你n個數字,任意兩個數字都有乙個最大公約數,那麼最大的公約數為多少
思路1:每個數字都能以sqrt(a)的複雜度列舉出a的所有因子。統計n個數字的所有因子出現的個數。然後從大到小列舉因子,輸出最大的出現兩次以上的那個因子。
思路2:桶排序出現的n個數字。統計出最大值,然後開始從大到小列舉這個答案,對於每個可能的答案,只需要統計這n個數字中有多少個是這個答案的倍數。畫素數篩法一樣,列舉答案的倍數,如果有兩個以上,那麼這個數就是答案了。
思路1的**:
#include #include #include #include #include #include #include #include#define ll long long
#define n 51000
using namespace std;
int v[1100000];
int main()}}
思路2**:
#include #include #include #include #include #include #include #include#define ll long long
#define n 1001000
using namespace std;
int v[n];
int main()
for(int i=maxx;i>=1;i--)}}
}
51nod1179最大的最大公約數
題目大意 給出n個正整數,找出n個數兩兩之間最大公約數的最大值。例如 n 4,4個數為 9 15 25 16,兩兩之間最大公約數的最大值是15同25的最大公約數5。input 第1行 乙個數n,表示輸入正整數的數量。2 n 50000 第2 n 1行 每行1個數,對應輸入的正整數.1 s i 100...
51nod 1179 最大的最大公約數
給出n個正整數,找出n個數兩兩之間最大公約數的最大值。例如 n 4,4個數為 9 15 25 16,兩兩之間最大公約數的最大值是15同25的最大公約數5。input 第1行 乙個數n,表示輸入正整數的數量。2 n 50000 第2 n 1行 每行1個數,對應輸入的正整數.1 s i 1000000 ...
51nod 1179 最大的最大公約數
原題鏈結 1179 最大的最大公約數 sgu基準時間限制 1 秒 空間限制 131072 kb 分值 40 難度 4級演算法題 給出n個正整數,找出n個數兩兩之間最大公約數的最大值。例如 n 4,4個數為 9 15 25 16,兩兩之間最大公約數的最大值是15同25的最大公約數5。input 第1行...