zoukankan      html  css  js  c++  java
  • 辗转相除法

     1 #include <cstdio>
     2 int gcd(int a,int b)
     3 {
     4     return b==0?a:gcd(b,a%b);
     5 }
     6 int gcd1(int a,int b)
     7 {
     8     if(a==0)return b;
     9     if(b==0)return a;
    10     if(a<b) return gcd(a,b-a);
    11     else return gcd(b,a-b);
    12 }
    13 int gcd3(int a,int b)
    14 {
    15     while(a!=0&&b!=0){
    16         if(a<b) b=b-a;
    17         else {int t;t=a;a=b;b=t-b;}
    18     }
    19     if(a==0)return b;
    20     else return a;
    21 }
    22 int main(){
    23     int a;int b;
    24     while(scanf("%d%d",&a,&b)!=EOF){
    25         printf("%d  %d  %d
    ",gcd1(a,b),gcd(a,b),gcd3(a,b));
    26     }
    27 
    28     return 0;
    29 }
    30 #include<stdio.h>
    31 int main()
    32 {
    33     int a,i,b,s,c,max,min,d;
    34     while(scanf("%d%d",&a,&b)!=EOF)
    35     {
    36         if(a<b)
    37         {
    38             s=a;
    39             a=b;
    40             b=s;
    41         }
    42         if(b==0&&a!=0)
    43             printf("%d %d
    ",0,b);
    44         if(a==b)
    45             printf("%d %d
    ",a,b);
    46         max=a;
    47         min=b;
    48         if(a>b&&b!=0)
    49         {
    50             while(a!=0&&b!=0)
    51             {
    52                 c=a;
    53                 a=a%b;
    54                 if(a!=0)
    55                 {
    56                     c=a;
    57                     b=b%a;
    58                 }
    59                 if(b!=0)
    60                 {
    61                     c=b;
    62                 }
    63             }
    64             printf("%d %d
    ",c,max*min/c);
    65         }
    66     }
    67     return 0;
    68 }
  • 相关阅读:
    Wireshark——工具
    Wireshark——网络协议
    Wireshark——过滤器
    Wireshark——数据包、着色规则和提示
    Floyd最小环
    有向环覆盖问题
    KM算法
    归并排序
    树状数组
    构造强连通图
  • 原文地址:https://www.cnblogs.com/Wade-/p/6160439.html
Copyright © 2011-2022 走看看