zoukankan      html  css  js  c++  java
  • 112

     

     计算2^1217

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <openssl/bn.h>
    
    int main()
    {
            BN_CTX *r;
            BIGNUM *a;
            BIGNUM *b;
            BIGNUM *c;
            
            char *x;
        char s[]="2";
        char t[]="1217";
    
            r = BN_CTX_new();
            a = BN_new();
            b = BN_new();
            c = BN_new();
            
    
            BN_dec2bn(&a, s);
            BN_dec2bn(&b, t);
            BN_exp(c,a,b,r);//计算2^1217次方
    
            x = BN_bn2dec(c);//把计算结果(大数)转化成10进制数
           
    
            puts(x);//打印出x
            
    
            BN_free(a);
            BN_free(b);
            BN_free(c);
           
    
            BN_CTX_free(r);
           
    
            free(x);
          
    
            return 0;
    }

    编译及运行结果:

     在华为云运行一下:

     与bc进行对比

    学号乘积
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <openssl/bn.h>
    
    int main()
    {
            BN_CTX *r[11];
            BIGNUM *bn[12];
            int i;
            const  char s[11][9]={"20181212","20181213","20181214","20181215","20181216","20181217","20181218","20181219","20181220","20181221","20181222"};
            char* out;
            char t[2]="1";
    
          
    
            for(i=0;i<11;i++){
    		bn[i]=BN_new();
    		BN_dec2bn(&bn[i],s[i]);
            	r[i] = BN_CTX_new();	
            }
            bn[11]=BN_new();
            BN_dec2bn(&bn[11],t);
    
            for(i=0;i<11;i++){
           		BN_mul(bn[11],bn[11],bn[i],r[i]); //计算11个同学学号的乘积
            }
    
            out= BN_bn2hex(bn[11]); //将大数转化转化成16进制的字符串
    
            puts(out);//打印出字符串
    
    
            for(i=0;i<11;i++){
    	BN_free(bn[i]);
                      BN_CTX_free(r[i]);
    	
            }
    	BN_free(bn[i]);
    
            free(out);
    
            return 0;
    }
    
    
    

      



    编译及运行结果:

     在华为云运行一下:

    与bc进行对比

     可以发现是成功的~~

     

  • 相关阅读:
    TreeList Linq
    MasterDetail Linq
    C# 事务处理
    设计模式——代理模式(Proxy Pattern)
    设计模式——装饰模式(Decorator Pattern)
    C# 调用WCF服务
    加密解密
    Effective C#高效编程(02:常量)
    切换城市功能
    DataPager控件使用
  • 原文地址:https://www.cnblogs.com/cindy123456/p/14816504.html
Copyright © 2011-2022 走看看