Find The Multiply

Posted JZYshuraK_彧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Find The Multiply相关的知识,希望对你有一定的参考价值。

Find The Multiply poj-1426

    题目大意:给你一个正整数n,求任意一个正整数m,使得n|m且m在十进制下的每一位都是0或1。

    注释:n<=200。

      想法:看网上的题解全是bfs乱搜(其实我的做法也是bfs),我来说一说我这简单的bfs。其实这道题的精髓就在于如何考虑对于大数的处理。显然,我们可以用同余mod定理来搞定。

    最后,附上丑陋的代码... ...

 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 long long ans[600001];
 5 int main()
 6 {
 7     int n;
 8     while(~scanf("%d",&n))
 9     {
10         if(n==0) return 0;
11         for(int i=1;;i++)
12         {
13             ans[i]=ans[i/2]*10+i%2;
14             if(ans[i]%n==0)
15             {
16                 break;
17             }
18         }
19         printf("%I64d\n",ans[i]);
20     }
21 }

    小结:定理的充分运用才是重要的... ...

以上是关于Find The Multiply的主要内容,如果未能解决你的问题,请参考以下文章

Count the consecutive zero bits (trailing) on the right with multiply and lookup

43. Multiply Strings 字符串相乘

环境初始化 Build and Install the Apache Thrift IDL Compiler Install the Platform Development Tools(代码片段

maven web项目的web.xml报错The markup in the document following the root element must be well-formed.(代码片段

What's the difference between @Component, @Repository & @Service annotations in Spring?(代码片段

mvn命令异常:An error has occurred in Javadoc report generation: Unable to find javadoc command异常已解决(代码片段