POJ1426 Find The Multiple 题解
程序员文章站
2022-06-12 09:13:51
...
原题
啊,不小心拖黑了
https://vjudge.net/contest/347799#problem/F
题目大意
求n(n <= 200)的一个倍数,其只由0和1组成
题目分析
第一眼:100位啊,写个高精度
第二眼:这也叫搜索?
听完题解:这 * * 还不用写高精度?
没错,我的程序跑n=6的时候输出1110,跑n=9的时候输出9条1,就算n=198也只是19位
而
好吧,也并不能说只是,反正unsigned long long就可以了
下面是不会数学的人写的程序
代码
#include<cstdio>
#include<cstring>
int m[110];
int mod(int* a,int size,int b)
{
int p = a[0];
int t = 1;
while (t < size)
{
while (p < b && t < size)
{
p *= 10;
p += a[t++];
}
p %= b;
}
return p;
}
void inc(int* a,int& size)//不是真正意义上的加1
{
int* p = a + size - 1;
while (*p != 0 && p != a)*p = 0,p--;
if (p == a) size++;
*p = 1;
}
int main()
{
while (true)
{
int n,sm;
memset(m,0,sizeof(m));
m[0] = 1;sm = 1;
scanf("%d",&n);
if(n == 0) break;
while (true)
{
inc(m,sm);
if (mod(m,sm,n) == 0)
{
for (int i = 0;i < sm;i++) printf("%d",m[i]);
putchar(10);
break;
}
}
}
return 0;
}
上一篇: 利用队列实现BFS(广度优先搜索)
推荐阅读
-
MacOS下pyinstaller打包步骤及依赖库、OSError、Could not find the matplotlib data files问题解决
-
Page directive: illegal to have multiple occurrences of contentType with different values问题解决
-
打开项目报错Failed to find Build Tools revision 26.0.2(Failed to find Build Tools revision 26.0.2 )问题解决
-
POJ 1426 Find The Multiple 简单dfs构造
-
Spring Cloud Gateway 2.x 跨域出现“Multiple CORS header”的问题解决
-
POJ-1426 Find The Multiple
-
POJ1426 Find The Multiple
-
POJ - 1426(Find The Multiple)
-
POJ1426 Find The Multiple(E)
-
POJ1426 Find The Multiple 题解