HDU 5207
2015-05-02 19:02
330 查看
HDU 5207
题目链接:HDU 5207
题意:
从n个数中任意选出2个数,求gcd最大。
分析:
n个数,从大到小找第一个具有它的倍数的值,那就是最大值。
代码实现:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
int n;
int x[100010], v[100010];
int calc( int N )
{
for (int i = N;i >= 1;i -- )
{
int sum = 0;
for (int j = i;j <= N;j += i )
{
sum += v[j];
if ( sum >= 2 )
return i;
}
}
return 1;
}
int main()
{
int T,tn=1;
scanf( "%d", &T );
while(T--)
{
scanf( "%d", &n );
int Max = 0;
memset(v,0,sizeof(v));
for ( int i = 1; i <= n; i ++ )
{
scanf( "%d", &x[i] );
Max = max( Max, x[i] );
v[x[i]] ++;
}
int ret = calc( Max );
printf( "Case #%d: %d\n", tn++, ret );
}
return 0;
}
题目链接:HDU 5207
题意:
从n个数中任意选出2个数,求gcd最大。
分析:
n个数,从大到小找第一个具有它的倍数的值,那就是最大值。
代码实现:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
int n;
int x[100010], v[100010];
int calc( int N )
{
for (int i = N;i >= 1;i -- )
{
int sum = 0;
for (int j = i;j <= N;j += i )
{
sum += v[j];
if ( sum >= 2 )
return i;
}
}
return 1;
}
int main()
{
int T,tn=1;
scanf( "%d", &T );
while(T--)
{
scanf( "%d", &n );
int Max = 0;
memset(v,0,sizeof(v));
for ( int i = 1; i <= n; i ++ )
{
scanf( "%d", &x[i] );
Max = max( Max, x[i] );
v[x[i]] ++;
}
int ret = calc( Max );
printf( "Case #%d: %d\n", tn++, ret );
}
return 0;
}
相关文章推荐
- HDU 5207 Greatest Greatest Common Divisor
- hdu 5207 Greatest Greatest Common Divisor
- HDU - 5207(素数筛法判断)
- 寒假集训3 c 求N个数中 取两个数的最大公约数 hdu 5207
- hdu 5207 Greatest Greatest Common Divisor(筛法求公约数)
- hdu 5207 求数组中任取两数的gcd最大值(灵活题)
- 水4_HDU_5207
- hdu 5207 Greatest Greatest Common Divisor
- HDU5207
- 【瞎搞】 HDU 5207 Greatest Greatest Common Divisor
- hdu 5207 BestCoder Round #38 ($) Greatest Greatest Common Divisor
- Hdu 5207 Greatest Greatest Common Divisor(数论)
- 【HDU 5207】Greatest Greatest Common Divisor —— 最大公因子
- HDU 5207 Greatest Greatest Common Divisor
- hdu 5207 Greatest Greatest Common Divisor 数学
- hdu 5207(数论+枚举)
- hdu 5207 Greatest Greatest Common Divisor【筛法】【思维】
- HDU 5207 Greatest Greatest Common Divisor
- HDU 5207 Greatest Greatest Common Divisor(暴力)
- HDU 5207 Greatest Greatest Common Divisor