UVa 11384 Help in needed for Dexter 正整数序列

序列太简单了,每次对于后面一半进行操作,使之变成前一半就行了。

i个数需要操作的次数
f(i)=f(i/2)+1

代码如下:

#include<cstdio>
using namespace std;

int f(int n){
    return n==1?1:f(n/2)+1;
}

int main(){
    int n;
    while(scanf("%d",&n)==1)
        printf("%d\n",f(n));
    return 0;
}

posted @ 2018-09-05 22:06  零原创  阅读(91)  评论(0编辑  收藏  举报