面试题:对一个正整数n,算得到1需要的最少操作次数
2013-09-02 22:58
302 查看
实现一个函数,对一个正整数n,算得到1需要的最少操作次数。
操作规则为:如果n为偶数,将其除以2;如果n为奇数,可以加1或减1;一直处理下去。
例子:
func(7) = 4,可以证明最少需要4次运算
n = 7
n-1 6
n/2 3
n-1 2
n/2 1
要求:实现函数(实现尽可能高效) int func(unsign int n);n为输入,返回最小的运算次数。
给出思路(文字描述),完成代码,并分析你算法的时间复杂度。
http://www.360doc.com/content/10/0909/18/2982742_52434261.shtml http://www.cnblogs.com/dartagnan/archive/2011/09/30/2196854.html
操作规则为:如果n为偶数,将其除以2;如果n为奇数,可以加1或减1;一直处理下去。
例子:
func(7) = 4,可以证明最少需要4次运算
n = 7
n-1 6
n/2 3
n-1 2
n/2 1
要求:实现函数(实现尽可能高效) int func(unsign int n);n为输入,返回最小的运算次数。
给出思路(文字描述),完成代码,并分析你算法的时间复杂度。
http://www.360doc.com/content/10/0909/18/2982742_52434261.shtml http://www.cnblogs.com/dartagnan/archive/2011/09/30/2196854.html
相关文章推荐
- 实现一个函数,对一个正整数n,算得到1需要的最少操作次数:
- 对一个正整数n,算得到1需要的最少操作次数。
- 实现一个函数,对一个正整数n,算得到1需要的最少操作次数?
- 实现一个函数,对一个正整数n,算得到1需要的最少操作次数?
- 对一个正整数n,算得到1需要的最少操作次数
- 实现一个函数,对一个正整数n,算得到1需要的最少操作次数?
- 比如你给它任意一个正整数,它可以按照一定的运算规则, 计算出得到1的最少操作次数。
- 1、对一个正整数算到1需要的最少操作次数
- 算得到1需要的最少操作次数
- 算得到1需要的最少操作次数
- 正整数n,算得到1需要的最少操作次数
- 对正整数,算得到1需要操作的次数
- 1、对一个正整数算到1需要的最少操作次数
- 本来从动态壁纸预览页面设置一个动态壁纸回到桌面便可以看到桌面动态壁纸,可以观察得到自己的动态壁纸是否设置成功了(必须知道设置是否成功的结构,因为还有一些操作需要完成)! 但是现在是要在自己的应用中进入
- 你就是一个画家!你现在想绘制一幅画,但是你现在没有足够颜色的颜料。为了让问题简单,我们用正整数表示不同颜色的颜料。你知道这幅画需要的n种颜色的颜料,你现在可以去商店购买一些颜料,但是商店不能保证能供应所有颜色的颜料,所以你需要自己混合一些颜料。混合两种不一样的颜色A和颜色B颜料可以产生(A XOR B)这种颜色的颜料(新产生的颜料也可以用作继续混合产生新的颜色,XOR表示异或操作)。本着勤俭节约的
- 给一个正整数 n, 找到若干个完全平方数(比如1, 4, 9, ... )使得他们的和等于 n。你需要让平方数的个数最少。
- 给一个正整数 n, 找到若干个完全平方数(比如1, 4, 9, ... )使得他们的和等于 n。你需要让平方数的个数最少。
- hdu 4628 每次消掉一个回文串需要的最少次数 很帅的题
- 给定一个字符串,切分该字符串,使得到的子串都是回文字符串,计算最少的切分次数。
- 堆栈面试题之共享栈,最小栈,判断一个序列是否由一个栈进行基本的入出栈操作而得到