18 条题解

  • 5
    @ 2023-9-28 10:56:26

    主打的就是理解

    #include<stdio.h>
    int main(){
    	int a,b,max,min;
    	scanf("%d %d",&a,&b);
    	if(a>b){
    		max=a;
    		min=b;
    	}else{
    		max=b;
    		min=a;
    	}
    	
    	for(int i=min;i>0;i--){
    		if(a%i==0&&b%i==0){
    			printf("%d",i);
    			break;
    		}
    	}
    	
    	return 0;
    }
    
    • 3
      @ 2025-9-6 11:11:18

      一点注释,希望对看不懂的哥们有帮助 #include<stdio.h>

      int main()

      {

      int a,b,max,min;

      scanf("%d %d",&a,&b);//开始判断大小

      if(a>b)

      {

      max=a;

      min=b;

      }

      else

      {

      max=b;

      min=a;

      }

      //极值判断完毕,开始求最大公约数

      for(int i=min;i>0;i--)//最大公约数再大也不能比min大

      {

      if (a%i0&&b%i0)//i同时满足可以整除a,b {

      printf("%d",i);

      break;//i从大到小一个个试,第一次符合条件的便是最大公约数,直接break,不要再继续输出了 }

      }

      return 0;

      }

      • 1
        @ 2026-5-17 10:26:38

        直接用C++自带函数GCD:

        关键部分如下

        需要的头文件

        #include <numeric>
        

        需要的命名空间

        using std::gcd;
        

        输出答案

        cout << gcd(A, B);
        
        • 1
          @ 2024-12-4 21:24:24

          #include<stdio.h> int main() { int A,B; scanf("%d %d",&A,&B); int min; int d; if(A>B) { min=B; } else { min=A; } for(int i=1;i<=min;i++) { if(A%i0&&B%i0) { if(i>d) { d=i; } } } printf("最大公约数为:%d",d); return 0; }

          • 0
            @ 2025-9-28 0:03:55

            #include<stdio.h> int main() {int n,a,i;


            **scanf**(**"%d,%d"**,&**n**,&**a**);
            

            ** if(a>n){i=a;}** else{i=n;}

            ** for(int c=i;c>0;c--** ) ** { ** if(a%c0&&n%c0) ** {printf("%d"**,c);


            **break**;
            

            **}**
            

            ** } ** printf("%d**\n**",a); ** return 0;**


            **}**
            
            • 0
              @ 2025-9-27 21:23:17
              #include <stdio.h>
              int main()
              {
                  int a,b,c;
                  scanf("%d %d",&a,&b);
                  if (a%b==0)c=b;
                  while(a%b!=0){c=a%b;
                  a=b;
                  b=c;}
                  printf("%d",c);
              }
              
              • 0
                @ 2025-9-26 1:28:02

                #include <stdio.h> int main() { int a,b,min; scanf("%d %d",&a,&b); if(a>b) { min=b;} else { min=a;} for(int i=min;i>0;i--) { if(a%i0&&b%i0) { printf("%d",i); break; } }

                return 0;
                

                }

                • 0
                  @ 2025-9-12 23:02:09
                  main :: IO ()
                  main = getLine >>= print . (\[a,b] -> gcd a b) . map read . words
                  

                  依旧函数大手子

                  • 0
                    @ 2025-7-2 17:59:30

                    #include<stdio.h> int main() { int a,b,c; scanf("%d %d",&a,&b); c=a%b; if(c==0) printf("%d",b); else if(c!=0) { while(c!=0) { c=a%b; a=b; b=c; } printf("%d",a); }

                    return 0;
                    

                    }

                    • 0
                      @ 2025-3-17 8:59:55
                      #include <stdio.h>
                      
                      int main() {
                          int A, B, temp;
                          scanf("%d %d", &A, &B);
                          while (B != 0) {
                              temp = B;
                              B = A % B;
                              A = temp;
                          }
                          printf("%d\n", A);
                          return 0;
                      }
                      辗转相除法:用较大数除以较小数得到商和余数,再用除数和余数反复做除法运算,当余数为0时,取当前算式除数为最大公约数
                      
                      • 0
                        @ 2024-4-24 22:23:27
                        #include <stdio.h>
                        int gcd(int a,int b)
                        {
                            int c=1,max,min;
                            max=(a>b)?a:b;
                            min=(a>b)?b:a;
                            while (c!=0)
                            {
                                c=max%min;
                                max=min;
                                min=c;
                            }
                            return max;
                        }
                        int main()
                        {
                            int a,b;
                            scanf("%d%d",&a,&b);
                            printf("%d",gcd(a,b));
                        }//
                        
                        • 0
                          @ 2024-1-11 10:49:17
                          #include<stdio.h>
                          int main(){
                          	int A,B,t;
                          	scanf("%d %d",&A,&B);
                          	t=A<B?A:B;
                          	for(int i=t;i;i--){
                          		if(A%i==0&&B%i==0)
                          	{
                          		printf("%d",i);
                          		break; }
                          	} 
                          	
                          	return 0;
                          }
                          
                          
                          
                          
                          • 0
                            @ 2023-8-22 14:31:10

                            #include<stdio.h> int main() { int a,b,t; scanf("%d %d",&a,&b); while(b!=0) { t=a%b; a=b; b=t;

                            } 
                             
                                 printf("%d",a);
                            
                            
                            
                             
                            return 0;
                            

                            }

                            • 0
                              @ 2023-8-22 8:02:24
                              #include<stdio.h>
                              int main(){
                                  int A,B,C;
                                  scanf("%d %d",&A,&B);
                                  for(C=A;A%C!=0||B%C!=0;C--){
                                      ;
                                  }printf("%d",C);
                                  return 0;
                              }
                              
                              • 0
                                @ 2023-8-20 18:40:01

                                #include<stdio.h> int main() { int a,b,temp,i; scanf("%d %d",&a,&b); if(a<b){ temp=a; a=b; b=temp; } for(i=b;i>0;i--) if(a%i0&&b%i0) { printf("%d",i); break; } return 0;

                                }

                                • 0
                                  @ 2023-8-13 21:26:50

                                  #include<stdio.h> int main() { int max,min, a,b,j; scanf("%d%d",&a,&b); max=a;min=b; if(a<b) { max=b;min=a; } for(int i=min;i>0;i--) { if(max%i0){ if(min%i0){ j=i;printf("%d",j);break; } } } return 0; }

                                  • 0
                                    @ 2022-10-7 17:01:11

                                    #include<stdio.h> int main(){ int max,min, a,b,j; scanf("%d%d",&a,&b); max=a;min=b; if(a<b){ max=b;min=a; }

                                    for(int i=min;i>0;i--)
                                    {
                                    	if(max%i==0){
                                    		if(min%i==0){
                                    			j=i;printf("%d",j);break;
                                    		}
                                    	}
                                    }
                                    return 0;
                                    

                                    }

                                    • -1
                                      @ 2022-10-4 14:43:00

                                      辗转

                                      • 1

                                      信息

                                      ID
                                      41
                                      时间
                                      1000ms
                                      内存
                                      128MiB
                                      难度
                                      5
                                      标签
                                      递交数
                                      3888
                                      已通过
                                      1501
                                      上传者