Dividing a Chocolate(zoj 2705)

Dividing a Chocolate zoj 2705

递推,找规律的题目:

具体思路见:http://blog.csdn.net/u010770930/article/details/9769333

 

 1 #include <stdio.h>
 2 #include <iostream>
 3 using namespace std;
 4 int a[50];
 5 int main()
 6 {
 7   int i,j,maxx;
 8   long long m,n;
 9   a[0]=1;
10   a[1]=1;
11   while(~scanf("%lld%lld",&m,&n))
12   {
13       maxx=max(m,n);
14       for(i=2;;i++)
15     {
16         a[i]=a[i-1]+a[i-2];
17         if(a[i]>maxx)
18             break;
19     }
20     for(j=i-1;j>=0;j--)
21       if(m%a[j]==0 || n%a[j]==0)
22       {
23         cout<<m*n-m*n/a[j]<<endl<<endl;
24         break;
25       }
26   }
27   return 0;
28 }

 

 

 

 

posted on 2013-08-26 21:40  ~~碾压机  阅读(183)  评论(0编辑  收藏  举报