注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

因心造境 风云由我

丈夫生时会几时,安能蹀躞垂羽翼

 
 
 

日志

 
 

求两个整数的最大公约数和最小公倍数的算法  

2008-04-08 10:06:35|  分类: 电脑 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

设两个整数为u和v,用辗转相除法求最大公约数的算法。最小公倍数=uv/最大公约数。  
  程序如下:  
  #include   <stdio.h>  
  int   hcf(int   u,int   v)  
  {   int   t,r;  
      if(v>u)  
      {   t=u;u=v;v=t;}  
      while((r=u%v)!=0)  
      {   u=v;  
          v=r;  
      }  
      return(v);  
  }  
  int   lcd(int   u,int   v,int   h)  
  {  
      return(u*v/h);  
  }  
  main(   )  
  {   int   u,v,h,l;  
   
      scanf("%d,%d",&u,&v);  
      h=hcf(u,v);  
      printf("H.C.F=%d\n",h);  
      l=lcd(u,v,h);  
      printf("L.C.D=%d\n",l);  
  }  
  运行结果如下:  
  24,16↙  
  H.C.F=8  
  L.C.D=48  

 

来晚了,有现成的,也发给你.  
  #include   "stdio.h"  
  main()  
  {  
    int   x,y,i,j,k;  
    clrscr();  
    printf("\nInput   first   number:");  
    scanf("%d",&x);  
    printf("\nInput   second   number;");  
    scanf("%d",&y);  
    j=x;  
    k=y;  
    while(x%y!=0)  
              {  
                i=x%y;  
                x=y;  
                y=i;  
                }  
  printf("\nThe   divisor   between   %d   and   %d   is   %d",j,k,y);  
  printf("\nThe   multiple   between   %d   and   %d   is   %d",j,k,j*k/y);  
  getch();  
  }  

  评论这张
 
阅读(91)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017