当前位置: 首页 > news >正文

港口建设征收 申报网站搜索引擎营销的方法

港口建设征收 申报网站,搜索引擎营销的方法,西安 网站开发 招聘,自己做的网站打不开了二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。示例1:输入:0.625输出:"0.10…

二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。

示例1:

输入:0.625

输出:"0.101"

示例2:

输入:0.1

输出:"ERROR"

提示:0.1无法被二进制准确表示

提示:

32位包括输出中的 "0." 这两位。

题目保证输入用例的小数位数最多只有 6 位

来源:力扣(LeetCode)

链接:https://leetcode.cn/problems/bianry-number-to-string-lcci

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

笑死,看见题目下面说最多只有6位我就有了一个恶毒的方法:直接建立map字典,从1位小数算到6位小数(即从包含"0."的3位到8位),这时候就是很明显的一道dfs题目了!复习一下dfs。结果超过了100%哈哈。

class Solution {
public:map<double,string>m;void dfs(double n,double su,string s){if(s.length()>8){return;}m[su+n*0.5]=s+"1";dfs(n*0.5,su+n*0.5,s+"1");dfs(n*0.5,su,s+"0");}string printBin(double num) {dfs(1,0,"0.");if(m[num]==""){return "ERROR";}return m[num];}
};

然后看了看官方题解,学了一下小数应该怎么转进制——>移位。比如二进制,要向左移,*2即可。

这边判断放到7就可以。本来就应该只有6位,因为这个小数只有6位,放到7位方便判断error,如果到7才跳出,说明不符合要求。

忒简单了。

class Solution {
public:string printBin(double num) {int i=0;int n;string s="0.";while(i<7 and num!=0){num*=2;int tempnum=num;s+=char(tempnum+48);num=num-tempnum;i++;}if(i==7){return "ERROR";}return s;}
};
http://www.dinnco.com/news/41321.html

相关文章:

  • 邹平网站建设优化公司厦门seo推广公司
  • dw做的网站放文件夹他达拉非片正确服用方法
  • 国家市场监督管理总局服务平台seo全国最好的公司
  • 广告设计在线seogw
  • 淘宝网免费素材图库seo岗位工资
  • 建设工程质量管理条例网站seo怎么优化效果更好
  • 做门户网站用什么技术好专业恶意点击软件
  • 黑群晖做php网站查询网站相关网址
  • 网站开发素材包网络推广的途径有哪些
  • 金融软件网站建设公司排名关键词排名公司
  • 网站开发哪种语言好网站流量查询工具
  • 凡科建站怎么删除网站建设2023年第三波新冠9月
  • 甘肃做网站哪家好谷歌浏览器网页
  • 机关网站建设征求意见怎么自己找外贸订单
  • 安卓app软件开发费用百度seo点击工具
  • 聊城做网站的公司市场百度指数支持数据下载吗
  • 网站建设市场报价网络公司取什么名字好
  • 网站建设 菜鸟教程互联网推广广告
  • 东莞企业网站制作推广运营杭州百度快照优化排名推广
  • 安徽建站系统国内疫情最新情况
  • 北京网站建设好不好天成都seo技术经理
  • 电商网站商品详情页业务推广平台
  • 微信建站网站html家乡网站设计
  • 崇左网站建设磁力吧ciliba
  • 软件设计师历年真题品牌seo培训咨询
  • 网站建设培训班价格seo入门免费教程
  • 网站浏览排名企业网络营销策划案
  • 维度网络做网站百度竞价推广登录
  • 临沂网站建设价格最常用的网页制作软件
  • php如何制作网站aso优化app推广