HDU 2710 Max Factor

Description

求N个数中质因子最大的数

Algorithm

对每一个数从本身开始降序枚举,找到质因子就刷新ans

Hint

本题是多组数据,并且输入有1,并且1要输出1

Code

#include <cstdio>
#include <cmath>
#include <iostream>
using namespace std;
bool prime(const int &x)
{
  for (int i = 2; i <= sqrt(x); i++)
    if (x % i == 0) return false;
  return true;
}
int main()
{
  int n;
  while (scanf("%d", &n) != EOF)
  {
    int maxj = 0;
    int ans = 0;
    for (int i = 0; i < n; i++)
    {
      int x;
      cin>>x;
      for (int j = x; j > 0; j--)
        if (x % j == 0 && j > maxj && prime(j))
        {
          maxj = j;
          ans = x;
          break;
        }
    }
    cout<<ans<<endl;
  }
  return 0;
}

“`

你可能感兴趣的:(HDU 2710 Max Factor)