求算法及程序 由1*1的正方形拼成的长宽分别为m*n的长方形,求长方形对角线穿过小正方形的个数.
题目
求算法及程序 由1*1的正方形拼成的长宽分别为m*n的长方形,求长方形对角线穿过小正方形的个数.
答案
算法主要是推出函数 f[m][n] = m + n - great_common_div(m,n)
#include
#include
#define abss(x) ((x)>(0)?(x):(-x))
#define mins(a,b) ((a)>(b)?(b):(a))
using namespace std;
int gre_com_div(int a,int b)
{
if(a==0) return b;
if(b==0) return a;
if(!(a&1)&&!(b&1))return gre_com_div(a>>1,b>>1)1,b);
else if(!(b&1)) return gre_com_div(a,b>>1);
else return gre_com_div(abss(a-b),mins(a,b));
}
int main()
{
int m,n;
while(scanf("%d %d",&m,&n),m,n) //input m,n and m,n!=0
{
printf("Cross %d square(s)
",m+n-gre_com_div(m,n));
}
return 0;
}
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
- 高中化学中燃料电池氢气与氧气、甲烷氧气、甲醇氧气、乙醇氧气分别写...
- 圆的半径增加50%,它的面积就增加_%.
- G.E.M is _____ a famous singer ______many teenagers like listening to her songs.
- 51单片机中,CY为1那么OV是不是也为1?
- 我不会为生活的压力而垂头丧气,不会为成绩的下滑而丧失斗志.用英语怎么说
- 一件毛衣昨天打了八折,今天在八折的基础上又降低了百分之十,花了144元,如果毛衣的利润率为百分之三十,求进价?
- I heard a car door to open and close为什么有to 请说细一些
- 王师傅每小时织35米的绳子,织32米的绳子需()小时
- 什么是边际收益递减规律
- 某市出租车收费标准为:(1)小于3千米,起步价8元;(2)3千米及其以上且小于10千米,每增加1千米加收1.7元,不足1千米按1千米计算;(3)10千米及其以上,超出部分每千米另外再加收50%的返程费
热门考点