[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
", dfs(n));}
View Code
这篇文章由TonyFang发布。 所有解释权归TonyFang所有。 Mailto: tony-fang@map-le.net
原文地址:https://www.cnblogs.com/TonyNeal/p/fzyzoj2102.html