社区
数据结构与算法
帖子详情
一个算法题目,大家看看,提供点思路
f_acme
2006-01-08 10:53:31
给定一个整数n(0<n<=200),找出一个n的最小的倍数K,使得K只由0和1两个数字组成。
比如输入2,输出10。
输入3,输出111。
输入6,输出100100100100100100。
输入19,输出111111111111111111。
并且已知结果K不会超过100位数字。
哪位提供点思路?
...全文
257
12
打赏
收藏
一个算法题目,大家看看,提供点思路
给定一个整数n(0<n<=200),找出一个n的最小的倍数K,使得K只由0和1两个数字组成。 比如输入2,输出10。 输入3,输出111。 输入6,输出100100100100100100。 输入19,输出111111111111111111。 并且已知结果K不会超过100位数字。 哪位提供点思路?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wzjall
2006-02-28
打赏
举报
回复
每扩展出一位,只需记录一个余数(余数以前出现过就不再向下扩展),
-------------------------------------------
余数以前出现过就不再向下扩展?
没想明白?可以详细解释以下吗?
谢谢!
wyl1267
2006-02-21
打赏
举报
回复
嗯,这个解法很聪明!关键在于记录余数,是你自己想出来的?
不过要处理大到100位的数字,恐怕一般计算机是难以实现的。
gpuboy
2006-02-20
打赏
举报
回复
to mmmcd(超超):
Your solution is correct. Previously, I misunderstood what you said.
f_acme
2006-02-19
打赏
举报
回复
还是要自己顶啊
mmmcd
2006-02-19
打赏
举报
回复
zju1530
#include <iostream.h>
#include <memory.h>
struct node{
int a,b;
int pre;
}queue[200];
char used[200];
void output(int k){
if(queue[k].pre>=0){
output(queue[k].pre);
}
cout<<queue[k].a;
}
int main()
{
int n,r,i,j,L;
queue[0].a=1;
queue[0].b=1;
queue[0].pre=-1;
while(cin>>n && n){
memset(used,0,sizeof(used));
used[1]=1;
L=r=1;
if(n>1)
for(i=0;i<L;i++){
for(j=0;j<2;j++){
r=(queue[i].b*10+j)%n;
if(!used[r]){
queue[L].a=j;
queue[L].b=r;
queue[L].pre=i;
used[r]=1;
L++;
}
if(r==0)
break;
}
if(r==0)
break;
}
output(L-1);
cout<<endl;
}
return 0;
}
mmmcd
2006-02-19
打赏
举报
回复
0<n<=200
余数最多不会超过200个,
搜索树节点个数上限200(注意使用广度优先)
f_acme
2006-02-19
打赏
举报
回复
是否与二进制有点联系?
gpuboy
2006-02-19
打赏
举报
回复
可以用宽度优先搜索
位数1 1
位数2 10 11
位数3 100 101 110 111
...
每扩展出一位,只需记录一个余数(余数以前出现过就不再向下扩展),
当余数为零,结果就找到了.
==================
This approach is infeasible! It is an NP-Complete Problem. You must look for another algorithm.
mmmcd
2006-02-19
打赏
举报
回复
可以用宽度优先搜索
位数1 1
位数2 10 11
位数3 100 101 110 111
...
每扩展出一位,只需记录一个余数(余数以前出现过就不再向下扩展),
当余数为零,结果就找到了.
gpuboy
2006-02-19
打赏
举报
回复
Easy work.
This problem is not worth tackling. Think more of something more meaningful.
f_acme
2006-01-15
打赏
举报
回复
为什么没人啊
f_acme
2006-01-12
打赏
举报
回复
怎么沉了?
KNN
算法
思路
以及常见面试题
KNN可以说是最简单的分类
算法
之一,同时,它也是最常用的分类
算法
之一,注意KNN
算法
是有监督学习中的分类
算法
,它看起来和另
一个
机器学习
算法
Kmeans有
点
像(Kmeans是无监督学习
算法
)。关于K-means可以看上篇博客。 ...
2020最新-精选基础
算法
100题(面试必备)
作为
一个
程序员,
算法
能力必不可少,虽然不一定是
算法
工程师,但是
算法
还是彰显着个人的编码能力,面试中也经常会被问到,甚至会被要求临场做
算法
题,所以,还是好好积累吧。 个人其实对
算法
挺有兴趣的,从3月份...
(干货)分析下让大家比较头痛的
算法
题的解题
思路
和技巧!
这一篇文,却是专门讲快捷
思路
的,很多人面对
算法
题的时候几乎是脑子里一片空白,这一篇文章讲的就是从
题目
下手,把毫无
思路
的
题目
打开
一个
缺口的几种常见技巧。 另外本人整理收藏了20年多家公司面试知识
点
整理 ,...
银行家
算法
的几道
题目
,快来
看看
吧
银行家
算法
的几个
题目
,快来
看看
吧
算法
经典
题目
算法
经典
题目
1.在
一个
二维数组中(每个一维数组的...
思路
:因为这是
一个
从左到右递增和从上到下递增的二维数组,例如下: [1,2,3,4] [ 2,3,4,5] [3,4,5,6] 这个数组中的所有数即为1,2,3,4,5,6,所以只要判断t...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章