Find n‘th number in a number system with only 3 and 4
这是在看geeksforgeeks时看到的一道题,挺不错的,题目是
Given a number system with only 3 and 4. Find the nth number in the number system.
First few numbers in the number system are: 3, 4, 33, 34, 43, 44, 333, 334, 343, 344,
433, 434, 443, 444, 3333, 3334, 3343, 3344, 3433, 3434, 3443, 3444, …
(题目链接)
简单的说,就是:
在一个由3、4组成的数字序列中找出第n个数,这个序列是这样的:
3、4、33、34、43、44、333、334、343、344、433、434、......
比如要找出第5个数,则输出43。
这是Zoho面试的一道题,题目不算很难。
仔细看这个序列,可以看到每个数字由3或4组成,我们可以把这个序列分组,以数字的位数来分:
第一组就是只有一位的数字:3,4
第二组就是只有二位的数字:33,34,43,44
第三组就是只有三位的数字:333, 334, 343, 344, 433, 434, 443, 444
.......
仔细观察一下每一组,可以看到,每一组都是有规律的,废话,肯定有规律。
把每一组的3用0替代,4用1替代,则
第一组就是:0,1
第二组就是:00,01,10,11
第三组就是:000,001,010,011,100,101,110,111
所以,只要知道要求的数字是第几组第几个就行了,把要求的n转化为
n = 2^i + a
求出i和a,i是位数,也就是第i个分组,a是分组中的第a个(a可以为0)
然后把a转为二进制,对于这个二进制,0就用3替代,1就用4替代,就求出问题的解了。
geeksforgeeks里还有其他解法。
版权声明:本文为博主原创文章,未经博主允许不得转载。
转载于:https://www.cnblogs.com/Rex7/p/4752540.html
Find n‘th number in a number system with only 3 and 4相关推荐
- html number方法,JavaScript Number 对象
JavaScript Number 对象 JavaScript 只有一种数字类型. 可以使用也可以不使用小数点来书写数字. JavaScript 数字 JavaScript 数字可以使用也可以不使用小 ...
- [js] 一道变态题 Number.call.call(Number, undefined, 0) 等于什么?
[js] 一道变态题 Number.call.call(Number, undefined, 0) 等于什么? call 的第一个参数用于改变上下文,由于没有用到 this,第一个参数 Number ...
- ES6-11数值扩展:二进制和八进制、数值分隔符、Number.isFinite()、Number.isNaN()等
1. 二进制和八进制 用前缀0b(或0B)和0o(或0O)表示. 0b111110111 === 503 // true 0o767 === 503 // true// 非严格模式 (function ...
- Number类型? Number的属性?Number的方法?
Number类型? Math是数学类型,针对数学方法做操作. Number是数值类型,针对数值做操作.如var s=0; <script>var s=1; //s由赋值1可判断为numbe ...
- Number、Number()和new Number()
今天周测出现了一道题是判断数据的数据类型,一开始的时候没有往深处想,就想到了表面,主要是没有把Number.Number()和new Number()理解透.在网上找了几篇关于这个的文章,刚开始晕晕的 ...
- number java_java中Number Math 类方法
package NumberAndMath; /** * Number and Math 方法 * @author Administrator * */ public class NumAndMath ...
- java number 转 long_Java Number.longValue()用法及代码示例
java.lang.Number.longValue()是java中的一个内置方法,该方法返回转换为long数据类型的指定数字的值.这可能涉及舍入或截断. 用法: public abstract lo ...
- 问题解决:Invalid version number:Version number may be negative or greater than 255
问题描述: 本人java版本1.8,使用Idea运行一个简单的SpringBoot项目出现以下问题: Invalid version number: Version number may be neg ...
- 263.Ugly Number||202 happy number||476 Number Complement||136 Single Number
263.Ugly Number 判断因数是否只有素数2.3.5.. 感觉比较简单: class Solution(object):def isUgly(self, num):""& ...
- oracle 转number日期,oracle number型日期转date型日期
在搞数据库时,发现有这样的一个字段,类型是NUMBER(38),查看了一下里面的数据,都是这样的, 1323957678114 1321326994295 1322129306804 13221297 ...
最新文章
- Gym 101128 B Black Vienna
- spring事物配置,声明式事务管理和基于@Transactional注解的使用
- 小型云台用的是什么电机_盘一下目前国内主流的电动汽车都用什么电机
- python的sys模块有什么用_python sys模块详解
- 《Asp.Net 2.0 揭秘》读书笔记(九)
- 炮轰小米后柔宇科技再发长文声明:无意碰瓷炒作
- hadoop生态搭建(3节点)-07.hive配置
- C# 创建XML文档
- 广州市车联网先导区建设总体技术规范
- java类和对象及python中的类似实现
- 解读一淘网(etao)首页响应式兼容ie6~ie8实现方法
- 自己的Android应用中调起支付宝网页
- 现代密码学之对称加密-DES及AES算法
- 用html制作四种九九乘法表,JavaScript制作九九乘法表
- (JZ1162)2018.07.07【2018提高组】模拟B组 1.【NOI2002】贪吃的九头龙
- 三年初心不改,iQOO如何树立电竞旗舰新标杆?
- Unity-3d小游戏开发-----走迷宫
- linux 下载文件到本地
- eclipse配置opencv和javacv环境
- Qt中注册定义类型qRegisterMetaType和Q_DECLARE_METATYPE的总结
热门文章
- 路由添加失败 参数错误_Django框架基础之路由详解 | 技术
- JUC之volatile
- 售前更需要关注客户业务
- 10个调试和排错的小建议
- LINUX异步信号集合示例代码
- HDOJ---2571 命运[DP]
- 今天就来分享一招坐着减肥法~ 办公室“久坐族”也同样适用
- 168.Excel Sheet Column Title
- Python 多进程multiprocessing
- 基于MVC4+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder