poj1426 Find The Multiple
Description
Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there is a corresponding m containing no more than 100 decimal
digits.
Input
The input file may contain multiple test cases. Each line contains a value of n (1 <= n <= 200). A line containing a zero terminates the input.
Output
For each value of n in the input print a line containing the corresponding value of m. The decimal representation of m must not contain more than 100 digits. If there are multiple solutions for a given value of n, any one of them is acceptable.
Sample Input
2 6 19 0
Sample Output
10 100100100100100100 111111111111111111
这道题最后的答案可以用__int64或者long long储存,所以可以用队列直接进行宽搜,每次*10或者*10+1;第二种方法是用公式(a*b)%n=((a%n)*(b%n))%n;(a+b)%n=(a%n+b%n)%n;用mod[i]储存第i次的余数。那么mod[i]=(mod[i/2]*10+i%2)%n;
代码1:
#include<stdio.h> #include<string.h> int mod[911111],a[110]; int main() { int n,i,j,t; while(scanf("%d",&n)!=EOF && n!=0) { if(n==1){ printf("1\n");continue; } memset(mod,0,sizeof(mod));memset(a,0,sizeof(a)); mod[1]=1; for(i=2;;i++){ mod[i]=(mod[i/2]*10+i%2)%n; if(mod[i]==0)break; } t=0; while(i){ //这里发现最后答案就是把i化为二进制的数 a[++t]=i%2; i=i/2; } for(i=t;i>=1;i--){ printf("%d",a[i]); } printf("\n"); } return 0; }
代码2:(直接用宽搜)
#include<stdio.h>
#include<string.h>
#define maxn 10000000
int n;
long long q[maxn];
long long bfs()
{
int front=1,rear=1;
//memset(q,0,sizeof(q));这里不能清空,否则会超时;
q[front]=1;
while(1)
{
long long x=q[front];
front++;
if((x*10)%n==0){
return x*10;
}
if((x*10+1)%n==0){
return x*10+1;
}
q[++rear]=x*10;
q[++rear]=x*10+1;
}
}
int main()
{
int i,j;
while(scanf("%d",&n)!=EOF && n!=0)
{
printf("%lld\n",bfs());
}
return 0;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥