博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算最少操作次数。。。
阅读量:2437 次
发布时间:2019-05-10

本文共 1160 字,大约阅读时间需要 3 分钟。

实现一个函数,对一个正整数n,算得到1需要的最少操作次数:

如果n为偶数,将其处以2;  如果n为奇数,可以加1或减1;  一直处理下去。
例子:
ret = func(7);
ret = 4,可以证明最少需要4次运算
n = 7
n—1 6
n/2 3
n-1 2
n/2 1
要求:实现函数(实现尽可能高效)
Int func(unsign int n);n为输入,返回最小的运算次数。
给出思路(文字描述),完成代码,并分析你算法的时间复杂度。

 

 

对于一个奇数来说, 是加1还是减1, 关键是看+1 or -1后二进制中1的个数的多少, 采用结果中1的个数较少的一个...

转载地址:http://kckqb.baihongyu.com/

你可能感兴趣的文章
微软将在HEC上发布Windows 2003 64-bit(转)
查看>>
保护SQL Server数据库的十大绝招(转)
查看>>
百度搜索引擎使用指南(转)
查看>>
专家观点:安全成交换机的基本功能(转)
查看>>
树型结构在ASP中的简单解决(转)
查看>>
解决玩游戏时显卡卡屏现象(转)
查看>>
移动通信概要(转)
查看>>
CMD命令全集(转)
查看>>
深度探索C++对象模型 ( 第四部分 )(转)
查看>>
MySQL中的SQL特征(转)
查看>>
使用JBuilder和WTK2.2搭建MIDP1.0和MIDP2.0开发环境(转)
查看>>
Symbian命名规则(翻译)(转)
查看>>
windows server 2003的设置使用(转)
查看>>
优化Win2000的NTFS系统(转)
查看>>
IE漏洞可使黑客轻易获取私人信息(转)
查看>>
脱机备份与恢复实战(转)
查看>>
WLINUX下的DNS服务器设置(转)
查看>>
游戏引擎剖析(二)(转)
查看>>
sms发mms C语言源码(转)
查看>>
窝CDMA网络中移动IP接入Internet(转)
查看>>