55 条题解

  • -1
    @ 2023-9-9 20:02:27

    这道题特别难,看一下题目描述应该就明白了

    #include<bits/stdc++.h>
    using namespace std;
    int gcd(int a,int b)
    {
        if (b==0)
        {
            return a;
        }
        return gcd(b,a%b);
    }
    int main()
    {
        int n,m;
        cin >> n>>m;
        cout << gcd(n,m);
        return 0;
    }
    //已AC
    
    • -1
      @ 2023-8-3 21:07:17
      #include<bits/stdc++.h>
      using namespace std;
      int a , b;
      int gcd(int x,int y)
      {
          if (y == 0)
          {
      		return x;
      	}
      	return gcd (y,x % y);
      }
      int main()
      {
      	cin >> a >> b;
      	cout << gcd(a , b);
          return 0;
      }
      
      
      • -1
        @ 2023-8-3 21:05:09

        这题公式都写出来了,应该很简单了。这种算术方法在学scratch的时候讲过。 不说了,上代码。还是这句话代码中有些许错误,复制粘贴无法AC。

        #include <bits/stdc++.h>//题解由hetao1098709提供,不要抄袭
        using namespace std;//题解由hetao1098709提供,不要抄袭
        int x,y;//题解由hetao1098709提供,不要抄袭
        int zhenwuyu(int x,int y)//真无语这函数名全网估计只有我一个人在用。所以,大家就别直接粘了。
        {//题解由hetao1098709提供,不要抄袭
            if(y==0)//题解由hetao1098709提供,不要抄袭
            {//题解由hetao1098709提供,不要抄袭
                return x;//题解由hetao1098709提供,不要抄袭
            }//题解由hetao1098709提供,不要抄袭
            return zhenwuyu(y,x%y);//题解由hetao1098709提供,不要抄袭
        }//题解由hetao1098709提供,不要抄袭
        int main()//题解由hetao1098709提供,不要抄袭
        {//题解由hetao1098709提供,不要抄袭
            cin>>x>>y;//题解由hetao1098709提供,不要抄袭
            cout<<zhenwuyu(x,y);//题解由hetao1098709提供,不要抄袭
        }//题解由hetao1098709提供,不要抄袭
        
        • @ 2023-8-3 21:06:04

          真无语这个变量名是我第二年用的函数名

        • @ 2023-8-21 10:50:35

          没人点赞……真伤心……呜呜呜

      • -1
        @ 2023-8-3 20:20:00

        题解版权属于 hetao3449355

        禁止抄袭,违者必究

        #include <iostream>
        using namespace std;
        int m, n;
        int gcd(int a, int b)
        {
            if( b == 0 )
            {
                return a;
            }
            return gcd( b , a % b );  
        }
        int main()
        {
            cin >> m >> n;
            cout << gcd( m , n );
        	return 0;
        }
        
        • -1
          @ 2023-7-24 18:21:29
          #include <bits/stdc++.h>//by AGOMG
          using namespace std;
          int gcd(int a, int b)
          {
              if(min(a, b) == 0)
                  return max(a, b);
              return gcd(b, a%b);//核心代码
          }
          
          • -1
            @ 2023-5-28 12:14:42

            #include<bits/stdc++.h> using namespace std; int m,n,j,k; int gcd(int a,int b) { if(b==0) return a; return gcd(b,a%b); } int main() { cin>>m>>n; cout<<gcd(max(m,n),min(m,n)); return 0; }

            • -1
              @ 2023-5-21 15:44:52

              本题考查的是L9-1的知识,忘了得同学请回去看看

              #include <bits/stdc++.h>
              using namespace std;
              int gcd(int a, int b)
              {
                  if (b == 0)
                  {
                      return a;
                  }
                  return gcd(b, a % b);
              }
              int main()
              {
                  int a, b;
                  cin >> a >> b;
                  cout << gcd(a, b);
                  return 0;
              }
              
              • -1
                @ 2023-5-13 22:11:55

                代码如下(思路略):

                #include <iostream>
                using namespace std;
                int gcd(int n,int m)
                {
                    if (m == 0)
                    {
                        return n;
                    }
                    else
                    {
                    	return gcd(m,n % m);
                	}
                }
                int main()
                {
                	int n,m;
                    cin>>n>>m;
                    cout << gcd(n,m);
                    return 0;
                }
                请放心食用,记得点赞哦~
                
                • -1
                  @ 2023-5-13 21:19:52

                  #include <iostream> using namespace std; int m,n; int gcd(int a,int b) { if (b == 0) { return a; } return gcd(b,a % b); } int main() { cin >> m >> n; cout << gcd(m,n); return 0; }

                  • -1
                    @ 2023-3-11 14:47:30

                    #include <iostream> using namespace std; int main()题解来了,请支付一个赞,谢谢! { int a,b,t; cin>>a>>b; for (int i=1;i<=b;i++) { if (a%i0 && b%i0) { t=i; } } cout<<t; return 0;

                      1. }
                  • -1
                    @ 2023-3-4 19:12:24
                    #include <bits/stdc++.h>
                    using namespace std;
                    int f(int a, int b){
                        if (b == 0) return a;
                        return f(b, a % b);
                    }
                    int main(){
                        int a, b; cin >> a >> b; cout << f(a, b); return 0; //棍子战术
                    }
                    
                    • -1
                      @ 2023-3-3 21:41:27

                      P1002 辗转相除法

                      题目描述

                      辗转相除法,也称欧几里得算法,是求最大公约数的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。两个整数的最大公约数**(Greatest Common Divisor)**是能够同时整除它们的最大的正整数,缩写为gcd。辗转相除法基于如下原理:定理:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数.


                      这里没啥可说的,题目都说了

                      !!!用较大数除以较小数,再用出现的余数(第一余数)去除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。!!!


                      所以,做法一:

                      #include <iostream>//hetao3097453
                      using namespace std;
                      int gcd(int a,int b)
                      {
                          if(b == 0)
                          {
                              return a;
                          }
                          else
                          {
                              return gcd(b,a % b);
                          }
                      }
                      int main()
                      {
                          int a,b;
                          cin >> a >> b;
                          cout << gcd(a,b) << endl;
                          return 0;
                      }
                      
                      

                      20行,其实不是个好做法。

                      所以,做法二:

                      函数法

                      #include <iostream>//hetao3097453
                      #include <algorithm>
                      using namespace std;
                      int main()
                      {
                          int a,b;
                          cin >> a >> b;
                          cout << __gcd(a,b) << endl;
                          return 0;
                      }
                      
                      

                      八行


                      hetao3097453(bililili @ 一钩出站)

                      2023年3月3日


                    • -1
                      @ 2023-2-28 15:06:40
                      思路 这道题关键在于阅读理解,抓住递归的核心就很容易AC。递归表达式和终止条件都在题面中直接给出。 $\\$(1)递归表达式:$gcd(m,n)=gcd(m,n$%$m)$ $\\$(2)终止条件:当$n==0$时,return m
                      代码
                      
                      #include<iostream>
                      using namespace std;
                      int n, m;
                      int func(int n, int m)
                      {
                          if (m == 0) return n;
                          return func(m, n % m);
                      }
                      int main()
                      {
                          cin >> n >> m;
                          cout << func(n, m);
                      }
                      
                      
                      • -2
                        @ 2023-8-5 11:18:52

                        这道题也很简单的 废话少说,上代码:

                        #include <bits/stdc++.h>
                        //本代码由4069983制作
                        using namespace std;
                        //本代码由4069983制作
                        int m, n; 
                        //本代码由4069983制作
                        int gcd(int a, int b)
                        //本代码由4069983制作
                        {
                        //本代码由4069983制作
                            if( b == 0 ) 
                        //本代码由4069983制作
                            {
                        //本代码由4069983制作
                        	    return a;
                        //本代码由4069983制作
                            } 
                        //本代码由4069983制作
                            return gcd( b , a % b );
                        //本代码由4069983制作
                        }
                        //本代码由4069983制作
                        int main()
                        //本代码由4069983制作
                        {
                        //本代码由4069983制作
                            cin >> m >> n; 
                        //本代码由4069983制作
                            cout << gcd( m , n )<<endl<<"本代码由4069983制作";
                        //本代码由4069983制作
                            return 0;
                        //本代码由4069983制作
                        }
                        //本代码由4069983制作
                        

                        这段代码完全正确,但多出了一些不必要的备注。 不建议直接复制,仅供参考

                        • -2
                          @ 2023-8-4 21:04:52
                          for (int i=1;i<=n;i++){
                                  if (n%i==0 && m%i==0{
                                      answer=i;
                                  }
                              }//枚举法,只有我用吧
                          

                          信息

                          ID
                          6
                          时间
                          1000ms
                          内存
                          256MiB
                          难度
                          4
                          标签
                          递交数
                          5370
                          已通过
                          2606
                          上传者