这是在看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里还有其他解法。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Find n‘th number in a number system with only 3 and 4的更多相关文章

  1. [Locked] Strobogrammatic Number & Strobogrammatic Number II & Strobogrammatic Number III

    Strobogrammatic Number A strobogrammatic number is a number that looks the same when rotated 180 deg ...

  2. odd number、 even number

    odd number 奇数 even number 偶数

  3. JavaScript Number() Vs new Number()

    最近在优化一个页面时候.IDEA 提示我错误的使用了包装类.当时感觉很诧异. 随后.我上Stack Overflow上面查了一下,终于发现了问题所在. new Number('123') 与 Numb ...

  4. es6 Number.isFinite()、Number.isNaN()、Number.isInteger()、Math.trunc()、Math.sign()、Math.cbrt()、Math.fround()、Math.hypot()、Math 对数方法

    ES6在Number对象上,新提供了Number.isFinite()和Number.isNaN()两个方法,用来检查Infinite和NaN这两个特殊值. Number.isFinite()用来检查 ...

  5. JS由Number与new Number的区别引发的思考

    在回答园子问题的时候发现了不少新东西,写下来分享一下 == 下面的图就是此篇的概览,另外文章的解释不包括ES6新增的Symbol,话说这货有包装类型,但是不能new... 基于JS是面向对象的,所以我 ...

  6. how to convert a number to a number array in javascript without convert number to a string

    how to convert a number to a number array in javascript without convert number to a string 如何在不将数字转换 ...

  7. python 利用位移法将ip转为number以及将number转为ip

    简介: 使用位移法将ip转为number型以及将number型转为ip,使用语言为python2.7 #!/usr/bin/env python # coding:utf-8 def ip2num(i ...

  8. Number()和new Number()的区别以及一种简单实现

    看MDN Beginners文档的时候注意到了这种用法 var n1 = Number(123); , 冒出的第一个疑问就是和 var n2 = new Number(123); 有什么区别呢? 首先 ...

  9. leetcode 136 Single Number, 260 Single Number III

    leetcode 136. Single Number Given an array of integers, every element appears twice except for one. ...

随机推荐

  1. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.6. 安装Oracle所依赖的必要包

    2.6. 安装Oracle所依赖的必要包 2.6.1. 检查Oracle所依赖的必要rpm包 [root@localhost /]#rpm -q binutils compat-libstdc elf ...

  2. 我常用的VBS方法(QTP)

    这些是4年前在HP用QTP做自动化测试时候总结的一些,现在贴出来,说不准以后会不会用到 当初花了2天时间写的一个自动生成的Excel Report Public Function Report (st ...

  3. 【转】linux_fdisk命令详解

    转自:http://www.cnblogs.com/xiaofengkang/archive/2011/06/06/2073579.html fdisk -l 可以列出所有的分区,包括没有挂上的分区和 ...

  4. 【DWT笔记】傅里叶变换与小波变换

    [DWT笔记]傅里叶变换与小波变换 一.前言 我们经常接触到的信号,正弦信号,余弦信号,甚至是复杂的心电图.脑电图.地震波信号都是时域上的信号,我们也成为原始信号,但是通常情况下,我们在原始信号中得到 ...

  5. 实现3D摄像机缓冲系统的一些思考

    最近需要模拟红侠乔伊的镜头运用.这东西初看简单,实际还是很需要功夫的.关键不是程序技术如何(就一个摄像机),而是分析其轨迹和追踪点规律.其实就是一个3D空间中的缓冲系统.你如何确定都有什么参数,这么多 ...

  6. Intent相关

    Intent是什么? 翻译为:意图,目的(名词) 其实根本没必要管它是什么,看看它能做什么就好了. 不过后来我知道了,它就是个机制----通信机制-----android的许多组件间的交流要依赖它. ...

  7. PropertyPlaceholderConfigurer加载属性配置文件:

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  8. 剑指offer

    今天完成了剑指offer上的66道编程题,感觉自己还是很多代码实现能力和算法积累都还不够!还需要继续联系,坚持自己独立写代码实现. 最后将今天的两道题目奉上,都有异曲同工之妙: 矩阵中的路径: #in ...

  9. Eclipse下建立geoserver源码工程

    摘要:本文详细阐述,如何基于geoserver源码构建eclipse工程文件,操作过程中除用到jdk.eclipse以外,还有git和maven,操作系统为windows8. 1安装Git 从(htt ...

  10. dom 表格操作

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...