面试题1
来源:互联网 发布:php static 编辑:程序博客网 时间:2024/06/07 22:01
题目
有点忘记了,大概就是4/7是lucky num吧,然后仅有4/7组成的数字,依次排列
4,7,44,47,74,77,444….这样的,给定i,表示第几个这样的数,求输入数字
思路
人啊,千万不能急了,大概思路是对的,细节还是考虑好,结果也不咋的
要淡定了
- 求出有多少位吧, floor(log2(i+1))
- 然后看第一位是4还是7,求中间的那个分界位数long half = (long)pow(2,num)-1+(long)pow(2,num-1); 之前为4,之后7
- 然后减去循环,看第二位,大概就是减去half后的相对距离不变吧
- 所以整个循环次数为多少位了
注意
精度啊,long long result=0;
pow返回的是double
代码
void countnum(int i){ long long result=0; int num = floor(log2(i+1)); while(num>1) { long half = (long)pow(2,num)-1+(long)pow(2,num-1); if(i< half) { result=pow(10,num-1)*4+result; i = half-i-1+(long)pow(2,num-1); } else { result=pow(10,num-1)*7+result; i = i-half-1+(long)pow(2,num-1); } num--; } result+=((i==1)?4:7); cout<<"result"<<result<<endl;}
0 0
- [面试题] 随机数相关面试题(1)
- java面试题1
- JAVA面试题-1
- 华为面试题1
- C#面试题 1
- 英文面试题(1)
- 面试题1-- Intel
- C++面试题1
- 面试题(1)
- c# 面试题1
- 中兴面试题1
- .net面试题1
- 面试题1
- 面试题1
- .NET 面试题1
- java面试题1
- sql面试题(1)
- 面试题1
- Spring中属性文件properties的读取与使用
- Android(JAVA)线程池ThreadPoolExecutor
- 实时显示
- 迭代器和解析
- 数据库学习计划
- 面试题1
- Friday the Thirteenth(USACO)
- 数组合并
- 建议109:谨慎使用嵌套类
- 我的第一篇博客
- 带缓存功能的图片查看器
- js追加元素的几种方法(append()、prepend()、after()、before()、insertAfter()、insertBefore())
- 动态规划-菲波那切数列--DP_2
- nodejs学习(一)