2 条题解

  • 2
    @ 2024-2-21 21:12:42
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int n,a[10005],maxx = -10000;
        cin >> n;
        for(int i = 1; i <= n; i++)
        {
            cin >> a[i];
            maxx = max(maxx,a[i]);
        }
        for(int i = maxx; i >= 1; i--)
        {
            bool ok = true;
            for(int j = 1; j <= n; j++)
            {
                if(a[j] % i != 0)
                {
                    ok = false;
                    break;
                }
            }
            if(ok)
            {
                cout << i;
                break;
            }
        }
        return 0;
    }
    
    • 2
      @ 2024-2-10 10:57:43

      我来水一个(已AC)

      #include <bits/stdc++.h> 
      using namespace std;
      int a[105], b[105];
      int main()
      {
          int n;
          cin >> n;
          for(int i = 1; i <= n; i++)//输入
          {
              cin >> a[i];
          }
          sort(a+1, a+n+1);//排序
          int x = 1;
          for(int i = 1; i <= a[1]; i++)//找最小数的约数放进b[]
          {
              if(a[1] % i == 0)
              {
                  b[x] = i;
                  x++;
              }
          }
          sort(b+1, b+x+1);//排序
          for(int i = x; i >= 1; i--)//一个个试
          {
              bool flag = true;
              for(int j = 2; j <= n; j++)
              {
                  if(a[j] % b[i] != 0)
                  {
                      flag = false;
                      break;
                  }
              }
              if(flag)
              {
                  cout << b[i];
                  return 0;
              }
          }
          return 0;
      }
      
      • 1

      【基础】N个数的最大公约数

      信息

      ID
      868
      时间
      1000ms
      内存
      16MiB
      难度
      4
      标签
      递交数
      23
      已通过
      15
      上传者