这次笔试是今年校招我参加的第一次笔试。。出了很多状况,基础知识不扎实,导致选择题耽误了太多时间,导致后面的题目没做完,编程题也没有在

时间内写出来,基本没有面试机会了。不过我继续研究第二个编程题,在10几分钟后做了出来。

这个题目具体已经不记得了,但是大概意思还是记得,我们把由4和7组成的数,按小大排序,例如:4 7 44 47 74 77 444 447 474 477 744 747 774 777

他们的序号依次为1,2,3,4.....,题目的输入是每行输入一个整数,可以很大(好像是最大为10的18次方),然后你输出对应的由4和7组成的数。

例如:

输入  2

3

14

输出就为

7

44

777

这个题目拿到手后,感觉就是要进行移位再与的操作,因为4747和0101多么的像,但是在笔试过程中,没有分析好怎么控制,单纯的想除以2,求关于2的余数就可以

得到结果。自然而然没有做出来,其实这是一个关于等比数列的问题,来决定这个整数对应的数到底有几位

1   2/   3   4   5   6/   7    8    9    10    11    12    13    14/   15

4   7/  44 47 74 77/  444 447 474 477 744 747   774   777/ 4444

/2   /       4           /                    8                                  /    16

我们的思路是把这个数减去它前面的等比数列之和,再减一,对应的就是0~2的n次方-1之间的数,比如 1-2 对应的就是0,1,(二进制为0,1),3-6对应的就是0-3(

二进制为00,01,10,11),然后我们对1进行移位操作,然后与这个0~2的n次方-1之间的数做&(与操作),如果为1,则输出7.如果为0,则输出4即可

下面是代码:

#include<iostream>
using namespace std;
int main()
{
unsigned long long k;
while (cin >> k)
{
unsigned long long sum = 0, num = 1;
unsigned int len = 1;
for (;;++len)
{
sum += num * 2;
num *= 2;
if (k <= sum)break;
}
sum -= num;
k = k - sum - 1;
for (unsigned int i = len;i >= 1;--i)
{
if (k&(unsigned long long)(1 << (i - 1)))cout << 7;
else cout << 4;
}
cout << endl;
}
return 0;
}

结果截图:

京东校招笔试(C++方向)编程题的更多相关文章

  1. 昨晚京东校招笔试,没考一道.net,全考java了

    我在大四之前我都觉得跟着微软走是正确的,这条大腿很粗!但是现在我也开始不那么认为了,现在每天在网上找招聘信息,稍微大点的公司都是招java的,很少招.net的!别说什么你学的好不怕没人招之类的话,大公 ...

  2. 2018春招-美团后台开发方向编程题 (python实现)

    第一题:字符串距离 题目: 给出两个相同长度的由字符 a 和 b 构成的字符串,定义它们的距离为对应位置不同的字符的数量.如串”aab”与串”aba”的距离为 2:串”ba”与串”aa”的距离为 1: ...

  3. 去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码

    编程题很简单.整个试卷结构为: 一.问答题: 对前端的理解,了解哪些框架库? 二.在线编程题:身份证分组 如下第一道:身份证分组 三.在线编程题:身份证分组.统计字符.酒店价格(三选二) 如下第二三四 ...

  4. 美团点评2017校招笔试真题-算法工程师A

    美团点评2017校招笔试真题-算法工程师A 1.下面哪种STL容器的实现和其它三个不一样 A. set B. deque C. multimap D. map 正确答案: B STL的容器可以分为以下 ...

  5. JavaScript编程题(含腾讯2016校招题)

    作者:ManfredHu 链接:http://www.manfredhu.com/2016/04/02/15-veryGoodForUsing/ 声明:版权所有,转载请保留本段信息,否则请不要转载 几 ...

  6. 2017 CVTE春招内推专场 C/C++软件开发岗笔试编程题

    先来一波吐槽:选择题全是不定项选择,考的内容在我看来,"反正我接受唔到咯". 比如: 1.Windows操作系统某个通信机制(具体题目忘了,反正答案我选了个熟悉的名词"消 ...

  7. 美团点评2017校招笔试真题-算法工程师B

    美团点评2017校招笔试真题-算法工程师B 1.以下关于经典的k-means聚类的说法哪个是错误的? A:k-means聚类算法是全局收敛的 B:k-means的聚类结果和初始聚类中心点的选取有关 C ...

  8. 网易2019校招内推编程题-瞌睡-C++实现

    [编程题] 瞌睡 时间限制:1秒 空间限制:262144K 小易觉得高数课太无聊了,决定睡觉.不过他对课上的一些内容挺感兴趣,所以希望你在老师讲到有趣的部分的时候叫醒他一下.你知道了小易对一堂课每分钟 ...

  9. 网易2019校招内推编程题-俄罗斯方块-C++实现

    [编程题] 俄罗斯方块 时间限制:1秒 空间限制:262144K 小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块.因为它比较古老,所以规则和一般的俄罗斯方块不同.荧幕上一共有 n 列,每次都会有 ...

随机推荐

  1. ANDROID中获取STRING.XML,DIMENS.XML等资源文件中的值

    一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English),再运行程序时,android操作系统会根据用户手机的语言环境和国家 ...

  2. MySQL 加锁处理分析 转

    MySQL 加锁处理分析  转 http://hedengcheng.com/?p=771 十二 13th, 2013 发表评论 | Trackback   1    背景    1 1.1    M ...

  3. [Hibernate] - Select/Update/Delete/Insert

    Java bean: package com.my.bean; import java.util.Date; public class WorkPack { private String uWorkP ...

  4. Windows2012修改光驱盘符

    1.输入diskmgmt.msc打开磁盘管理器 2.找到需要修改的盘符,右键点击修改盘符

  5. nodejs小问题:express不是内部或外部命令

    来源:http://jingyan.baidu.com/article/922554468a3466851648f419.html 一时兴起想学习点东西,准备在heroku上部署一个Node.js的小 ...

  6. Samba配置文件常用参数详解-OK

    Samba的主配置文件叫smb.conf,默认在/etc/samba/目录下. smb.conf含有多个段,每个段由段名开始,直到下个段名.每个段名放在方括号中间.每段的参数的格式是:名称=指.配置文 ...

  7. 黄聪:优化清理WordPress数据库wp_options表(缩小autoload体积)

    使得wp_options表变得庞大的重要原因:无用的RSS Feed Cache.如果你在wp_options表中发现了大量option_name包含“_transient”的数据,那就是它没跑了.先 ...

  8. 8. redis的主从复制和sentinal

    一. redis主从复制(读写分离) redis的主从复制分为两类节点:1个master和多个slave,master进行读写操作,slav进行只读操作 启动步骤: 主节点照常启动,slave节点启动 ...

  9. eclipse eayExplorer 查看代码的资源管理器打开方式

    http://blog.csdn.net/w709854369/article/details/6599167 http://blog.samsonis.me/wp-content/uploads/2 ...

  10. [Mysql] MySQL配置文件my.cnf的理解

    一.缘由 最近要接手数据库的维护工作,公司首选MySQL.对于MySQL的理解,我认为很多性能优化工作.主从主主复制都是在调整参数,来适应不同时期不同数量级的数据. 故,理解透彻my.cnf里的参数是 ...