[FZYZOJ 2102] 正整数序列

P2102 -- 正整数序列

时间限制:1000MS

内存限制:131072KB

Description

给定正整数 n,你的任务是用最少的操作次数把序列 1, 2, ..., n 中的所有数都变成 0。

每次操作可从序列中选择一个或多个整数,同时减去一个相同的正整数。比如,1,2,3 可以 把 2 和 3 同时减小 2,得到 1,0,1。

Input Format

仅一行,为正整数 n。

Output Format

对于每组数据,输出最少操作次数。

Sample Input

3

Sample Output

2

Hint

对于100%的数据,1<=n<=10^9

数据十分有梯度

 

【题解】Hint说的是,确实十分有梯度,就是一道水题啊。。

为了作死就用了用dfs简直爽= =竟然0s过了= =

TAT我才花了60s打完代码。

1 #include <bits/stdc++.h>
2 int dfs(int num) {if(num==1)return 1;return dfs(num/2)+1;}
3 int main() {int n;scanf("%d", &n);printf("%d\n", dfs(n));}
View Code

 

posted @ 2015-06-06 13:32  TonyFang  阅读(439)  评论(0编辑  收藏  举报