zoukankan      html  css  js  c++  java
  • Find The Multiple 二叉树 哈夫曼编码 经典,,,同余方程((a*b)%n=(a%n*b%n)%n (a+b)%n=(a%n+b%n)%n)

    Problem 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
    ***************************************************************************************************************************
    大神图片经典   领教啦!!
    ***************************************************************************************************************************
     1 #include<iostream>
     2 #include<string>
     3 #include<cstring>
     4 #include<cmath>
     5 #include<cstdio>
     6 #include<queue>
     7 using namespace std;
     8 int mod[600001],res[600001];
     9 int n,i,j,k;
    10 int cnt;
    11 int main()
    12 {
    13    while(scanf("%d",&n)&&n)
    14    {
    15       mod[1]=1%n;
    16       for(i=2;mod[i-1];i++)
    17       {
    18           mod[i]=(mod[i/2]*10+i%2)%n;//哈夫曼树,模仿双向bfs();
    19       }
    20       i--;
    21       int id=0;
    22       while(i)
    23       {
    24           res[id++]=i%2;//哈夫曼编码
    25           i/=2;
    26       }
    27       for(i=id-1;i>=0;i--)
    28         printf("%d",res[i]);
    29       printf("
    ");
    30    }
    31    return 0;
    32 }
    View Code
  • 相关阅读:
    用php实现一个双向队列 如何实现?
    extract函数行结果
    替换指定字符串中,键对应的键值
    php裁剪图片(支持定点裁剪)
    Swoole和Swoft的那些事 (Http/Rpc服务篇)
    FineCMS介绍
    打造属于自己的比特币钱包
    数据可视化的艺术
    如何通过织云 Lite 愉快地玩转 TSW
    你想知道的大数据知识都在这里
  • 原文地址:https://www.cnblogs.com/sdau--codeants/p/3364244.html
Copyright © 2011-2022 走看看