4 条题解

  • 3
    @ 2023-10-6 0:34:01

    先赞后搬

    #include <bits/stdc++.h>
    using namespace std;
    int a,b,ans;
    int main()
    {
        cin>>a>>b;
        for(int i=1;i<=max(a,b);i++)
        {
            if(a%i==0&&b%i==0)
            {
                cout<<i<<endl;
            }
                
        }
        return 0;
    }
    
    • 2
      @ 2024-3-24 14:05:05

      还是自己定义函数更保险

      #include <bits/stdc++.h>
      using namespace std;
      int minn(int a, int b)
      {
          if (a < b)
          {
              return a;
          }
          else
          {
              return b;
          }
      }
      int main()
      {
          int a, b;
          cin >> a >> b;
          for (int i = 1; i <= minn(a, b); i++)
          {
              if (a % i == 0 && b % i == 0)
              {
                  cout << i << endl;
              }
          }
          return 0;
      }
      
      • 1
        @ 2023-10-8 21:06:40
        #include<bits/stdc++.h>
        using namespace std;
        int main()
        {
            int a , b;
            cin >> a >> b;
            for (int i = 1 ; i <= b ; i++)
            {
                if(a % i == 0 && b % i == 0)
                {
                    cout << i << endl;
                }
            }
            return 0;
        }//A
        
        • 1
          @ 2023-8-4 20:11:27

          很简单,防止TLE(虽然不会这样)先求出最大公因数(递归,辗转相除法),用g记录,在一一列举,求出因数 上代码:

          #include <cstdio>
          using namespace std;
          int gcd(int x,int y){
              return !y?x:gcd(y,x%y);
          }
          int main(){
              int a,b,g;
              scanf("%d%d",&a,&b);
              g=gcd(a,b);
              for(int i=1;i<=g;i++)if(g%i==0)printf("%d\n",i);
              return 0;
          }
          
          • 1

          信息

          ID
          1128
          时间
          1000ms
          内存
          128MiB
          难度
          1
          标签
          递交数
          43
          已通过
          31
          上传者