Uva 11384 - Help is needed for Dexter

/*
题意:一个整数n,计算操作次数,把序列(1~n)每次减去一个(1~n)
的正整数最终使整个序列都归为0
计算这个最小的操作次数
方法:多在本子上画画,递归公式:f(n)=f(n/2)+1;
*///AC

 1 #include<stdio.h>
 2 #include<string.h>
 3 //1 ≤ N ≤ 1,000,000,000  int 足够
 4 int f(int n)
 5 {
 6     int c;
 7     if(n==1)c=1;
 8     else
 9     {
10 
11         c=f(n/2)+1;
12     }
13     return c;
14 }
15 int main()
16 {
17     int n,i,j,k;
18     while(scanf("%d",&n)!=EOF)
19     {
20         printf("%d\n",f(n));
21     }
22     return 0;
23 }

 

posted on 2013-03-13 20:18  ACM_Someone like you  阅读(165)  评论(0编辑  收藏  举报

导航