这是在看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相关推荐

  1. html number方法,JavaScript Number 对象

    JavaScript Number 对象 JavaScript 只有一种数字类型. 可以使用也可以不使用小数点来书写数字. JavaScript 数字 JavaScript 数字可以使用也可以不使用小 ...

  2. [js] 一道变态题 Number.call.call(Number, undefined, 0) 等于什么?

    [js] 一道变态题 Number.call.call(Number, undefined, 0) 等于什么? call 的第一个参数用于改变上下文,由于没有用到 this,第一个参数 Number ...

  3. ES6-11数值扩展:二进制和八进制、数值分隔符、Number.isFinite()、Number.isNaN()等

    1. 二进制和八进制 用前缀0b(或0B)和0o(或0O)表示. 0b111110111 === 503 // true 0o767 === 503 // true// 非严格模式 (function ...

  4. Number类型? Number的属性?Number的方法?

    Number类型? Math是数学类型,针对数学方法做操作. Number是数值类型,针对数值做操作.如var s=0; <script>var s=1; //s由赋值1可判断为numbe ...

  5. Number、Number()和new Number()

    今天周测出现了一道题是判断数据的数据类型,一开始的时候没有往深处想,就想到了表面,主要是没有把Number.Number()和new Number()理解透.在网上找了几篇关于这个的文章,刚开始晕晕的 ...

  6. number java_java中Number Math 类方法

    package NumberAndMath; /** * Number and Math 方法 * @author Administrator * */ public class NumAndMath ...

  7. java number 转 long_Java Number.longValue()用法及代码示例

    java.lang.Number.longValue()是java中的一个内置方法,该方法返回转换为long数据类型的指定数字的值.这可能涉及舍入或截断. 用法: public abstract lo ...

  8. 问题解决: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 ...

  9. 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):""& ...

  10. oracle 转number日期,oracle number型日期转date型日期

    在搞数据库时,发现有这样的一个字段,类型是NUMBER(38),查看了一下里面的数据,都是这样的, 1323957678114 1321326994295 1322129306804 13221297 ...

最新文章

  1. Gym 101128 B Black Vienna
  2. spring事物配置,声明式事务管理和基于@Transactional注解的使用
  3. 小型云台用的是什么电机_盘一下目前国内主流的电动汽车都用什么电机
  4. python的sys模块有什么用_python sys模块详解
  5. 《Asp.Net 2.0 揭秘》读书笔记(九)
  6. 炮轰小米后柔宇科技再发长文声明:无意碰瓷炒作
  7. hadoop生态搭建(3节点)-07.hive配置
  8. C# 创建XML文档
  9. 广州市车联网先导区建设总体技术规范
  10. java类和对象及python中的类似实现
  11. 解读一淘网(etao)首页响应式兼容ie6~ie8实现方法
  12. 自己的Android应用中调起支付宝网页
  13. 现代密码学之对称加密-DES及AES算法
  14. 用html制作四种九九乘法表,JavaScript制作九九乘法表
  15. (JZ1162)2018.07.07【2018提高组】模拟B组 1.【NOI2002】贪吃的九头龙
  16. 三年初心不改,iQOO如何树立电竞旗舰新标杆?
  17. Unity-3d小游戏开发-----走迷宫
  18. linux 下载文件到本地
  19. eclipse配置opencv和javacv环境
  20. Qt中注册定义类型qRegisterMetaType和Q_DECLARE_METATYPE的总结

热门文章

  1. 路由添加失败 参数错误_Django框架基础之路由详解 | 技术
  2. JUC之volatile
  3. 售前更需要关注客户业务
  4. 10个调试和排错的小建议
  5. LINUX异步信号集合示例代码
  6. HDOJ---2571 命运[DP]
  7. 今天就来分享一招坐着减肥法~ 办公室“久坐族”也同样适用
  8. 168.Excel Sheet Column Title
  9. Python 多进程multiprocessing
  10. 基于MVC4+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder