• [kuangbin带你飞]专题一 简单搜索


     1 //Memory Time
     2 //2236K  32MS 
     3 
     4 #include<iostream>
     5 using namespace std;
     6 
     7 int mod[524286];  //保存每次mod n的余数
     8                   //由于198的余数序列是最长的
     9                   //经过反复二分验证,436905是能存储198余数序列的最少空间
    10                   //但POJ肯定又越界测试了...524286是AC的最低下限,不然铁定RE
    11 
    12 int main(int i)
    13 {
    14     int n;
    15     while(cin>>n)
    16     {
    17         if(!n)
    18             break;
    19 
    20         mod[1]=1%n;  //初始化,n倍数的最高位必是1
    21 
    22         for(i=2;mod[i-1]!=0;i++)  //利用同余模定理,从前一步的余数mod[i/2]得到下一步的余数mod[i]
    23             mod[i]=(mod[i/2]*10+i%2)%n;
    24                      //mod[i/2]*10+i%2模拟了BFS的双入口搜索
    25                      //当i为偶数时,+0,即取当前位数字为0  。为奇数时,则+1,即取当前位数字为1
    26 
    27         i--;
    28         int pm=0;
    29         while(i)
    30         {
    31             mod[pm++]=i%2;   //把*10操作转化为%2操作,逆向求倍数的每一位数字
    32             i/=2;
    33         }
    34         while(pm)
    35             cout<<mod[--pm];  //倒序输出
    36         cout<<endl;
    37     }
    38     return 0;
    39 }

    转载至:http://blog.csdn.net/lyy289065406/article/details/6647917

  • 相关阅读:
    页面布局
    序列化和反序列化
    虚方法、抽象类
    方法的重载 、重写
    C#委托与事件
    C#中的反射
    SQL用法
    Ubuntu:Unable to locate package ***
    Django 使用mysql 所遇到问题一:Error loading MySQLdb module
    python collection 中的队列
  • 原文地址:https://www.cnblogs.com/you-well-day-fine/p/4253930.html
Copyright © 2020-2023  润新知