FZU

来源:互联网 发布:java生日提醒功能 编辑:程序博客网 时间:2024/06/15 15:26
/*  这题主要是想到突破口--每次除以2(我感觉还是思维题,就像我当时做时,就是想不到 T^T)  然后,用1个奇数和1个偶数举一下例子  f(7) = f(3) + 1, f(3) = f(1) + 1, f(1) = 1  f(8) = f(4) + 1, f(4) = f(2) + 1, f(2) = f(1) + 1, f(1) = 1*/


#include <iostream>#include <cstdio>using namespace std;int main(){int t, n;scanf("%d", &t);for (int c = 1; c <= t; c++){scanf("%d", &n);int res = 0;while (n){res++;n /= 2;}printf("Case %d: %d\n", c, res);}return 0;}

//以及这题还想明白除以2以后,就可以用对数去做了,注意每次除以2,除以log2n次,最后还要加上f(1),如下#include <iostream>#include <cstdio>#include <cmath>using namespace std;int main(){int t, n;scanf("%d", &t);for (int c = 1; c <= t; c++){scanf("%d", &n);int res = (int)(log(n) / log(2) + 1);printf("Case %d: %d\n", c, res);}return 0;}


原创粉丝点击