一道腾讯笔试题

LZQGdut 2011-04-23 12:55:32
用户输入一个数,类型为整型,该数各个位只能是1、2、3、4四个数字其中之一,要求对该数各个位上的数进行调整,使其为7的倍数。程序代码实现该功能……
...全文
218 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
LZQGdut 2011-04-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wwwypy 的回复:]
楼主没有把提完全给出来,其实他给了一部分代码,他的算法设计十分精妙,基本思想和楼一差不多。
[/Quote]
涉及到保密,只能给出题意……
s_hhm 2011-04-23
  • 打赏
  • 举报
回复
一楼正解.
另外,各位仁兄有没有好的有关算法的书给小弟推荐几本!小兄感激不尽!
greex 2011-04-23
  • 打赏
  • 举报
回复
int iIn;
std::cin>>iIn;
char BUFF[255];
memset(BUFF,0,255);
_snprintf(BUFF,255,"%d",iIn);
std::string strTmp(BUFF);
std::sort(strTmp.begin(),strTmp.end());
while (std::next_permutation(strTmp.begin(),strTmp.end()))
{
memset(BUFF,0,255);
_snprintf(BUFF,strTmp.size(),strTmp.c_str());
std::istringstream ism(BUFF);
ism>>iIn;
if(iIn % 7 == 0)
{
std::cout<<BUFF<<std::endl;
}
}
wwwypy 2011-04-23
  • 打赏
  • 举报
回复
楼主没有把提完全给出来,其实他给了一部分代码,他的算法设计十分精妙,基本思想和楼一差不多。
無_1024 2011-04-23
  • 打赏
  • 举报
回复
先输入一个数字 然后得到每一位的值存入数组 然后最多四个数 几次循环的结果摸7 ==0就是了
bdmh 2011-04-23
  • 打赏
  • 举报
回复
简单说,对4个数循环组合,对7取模数,为0即为倍数
淡蓝 2011-04-23
  • 打赏
  • 举报
回复
将data中的1234取出来,
将余下的数data_left对7求余得n,
用1234组成一个数,该数对7求余为7-n,
则将1234组成的数加在data_left后面,得到一个可被7整除的数。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧