zoukankan      html  css  js  c++  java
  • hdu 1211

    这题就是 要你找出一个ASCII 的值x使得  :  x^e%n==num(当前输入的数,e条件已给出)

    zsd:

    1: ASCII0-255可以枚举

    2:   =a^11   11=1011

    int pow2( int a, int b )
    {
        int r = 1, base = a;
        while( b != 0 )
        {
            if( b % 2 )
                r *= base;
            base *= base;  //a^x x=1 2 4 8 16  也就是2^x
            b /= 2;
        }
        return r;
    }
    

     3:(x*y)%d=(x%d)*(y%d)

    #include<iostream>
    using namespace std;
    bool funtion(int x,int e,int n,int num)
    {// m^n % k
       int b = 1;
        while (e > 0)
        {
              if (e & 1)
                 b = (b*x)%n;
              e = e >> 1 ;
              x = (x*x)%n;
        }
        if(b==num) return true;
        return false;
    }
    int main()
    {
        int p,q,e,l,c,n;
        while(scanf("%d%d%d%d",&p,&q,&e,&l)!=EOF)
        {
            n=p*q;
            while(l--)
            {
                scanf("%d",&c);
                for(int i=0;i<=255;i++)
                    if(funtion(i,e,n,c))
                    {
                        printf("%c",i);
                        break;
                    }
            }
            printf("
    ");
        }
        return 0;
    }
    

     4:貌似没有用到模线性方程

    
    
    #include<iostream>
    using namespace std;
    bool funtion(int x,int e,int n,int num)
    {// m^n % k
       int b = 1;
        while (e > 0)
        {
              if (e & 1)
                 b = (b*x)%n;
              e = e >> 1 ;
              x = (x*x)%n;
        }
        if(b==num) return true;
        return false;
    }
    int main()
    {
        int p,q,e,l,c,n;
        while(scanf("%d%d%d%d",&p,&q,&e,&l)!=EOF)
        {
            n=p*q;
            while(l--)
            {
                scanf("%d",&c);
                for(int i=0;i<=255;i++)
                    if(funtion(i,e,n,c))
                    {
                        printf("%c",i);
                        break;
                    }
            }
            printf("
    ");
        }
        return 0;
    }
    
    
    
    
     
  • 相关阅读:
    程序员常用资源工具集合(建议收藏)
    程序员常用资源工具集合(建议收藏)
    16个烧光你脑细胞的悖论
    2.2_模型的选择
    2.1_Scikit-learn数据集
    Sklearn数据集与机器学习
    1.4_数据的特征选择
    1.4_特征的选择
    1.3_数据的特征预处理
    1.2_数据的特征抽取
  • 原文地址:https://www.cnblogs.com/zhangdashuai/p/3700664.html
Copyright © 2011-2022 走看看