King's Cake

【思路】

    递推

    公式:f(n,m)=f(max(m,n-m),min(m,n-m))+1,n>m

【代码】

 

 1 #include<cstdio>
 2 #include<iostream>
 3 using namespace std;
 4 
 5 int max(int a,int b) 
 6 {
 7     return a>b? a:b;
 8 }
 9 int min(int a,int b) 
10 {
11     return a>b? b:a;
12 }
13 int f(int n,int m)
14 {
15     if(n==m) return 1;
16     return f(max(m,n-m),min(m,n-m))+1;
17 }
18 
19 int main()
20 {
21     int T,n,m;
22     scanf("%d",&T);
23     while(T--) {
24         scanf("%d%d",&n,&m);
25         printf("%d\n",f(max(n,m),min(n,m)));
26     }
27     return 0;
28 }
View Code

相关文章:

  • 2021-08-13
  • 2021-09-28
  • 2021-07-17
  • 2021-10-03
  • 2021-12-12
  • 2021-05-21
  • 2021-07-19
  • 2021-10-22
猜你喜欢
  • 2022-01-07
  • 2022-12-23
  • 2021-10-22
  • 2021-12-04
  • 2021-10-07
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案