人人终身学习知识网~是各类综合知识资源信息分享,提升综合素质与提高知识技能的终身学习网络平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

求算法及程序由1*1的正方形拼成的长宽分别为m*n的长方形,求长方形对角线穿过小正方形的个数.

[复制链接]

问题:求算法及程序由1*1的正方形拼成的长宽分别为m*n的长方形,求长方形对角线穿过小正方形的个数.

答案:↓↓↓

网友采纳  算法主要是推出函数f[m][n]=m+n-great_common_div(m,n)  #include  #include  #defineabss(x)((x)>(0)?(x):(-x))  #definemins(a,b)((a)>(b)?(b):(a))  usingnamespacestd;  intgre_com_div(inta,intb)  {  if(a==0)returnb;  if(b==0)returna;  if(!(a&1)&&!(b&1))returngre_com_div(a>>1,b>>1)1,b);  elseif(!(b&1))returngre_com_div(a,b>>1);  elsereturngre_com_div(abss(a-b),mins(a,b));  }  intmain()  {  intm,n;  while(scanf("%d%d",&m,&n),m,n)//inputm,nandm,n!=0  {  printf("Cross%dsquare(s)n",m+n-gre_com_div(m,n));  }  return0;  }
回复

使用道具 举报

小黑屋/人人终身学习知识网~是各类综合知识资源信息分享,提升综合素质与提高知识技能的终身学习网络平台

Powered by 5wangxiao

© 2007-2021 5wangxiao.Com Inc.

快速回复 返回顶部 返回列表