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 }