设为首页 加入收藏

TOP

C++实现费马小定理素数测试
2015-11-21 01:00:14 来源: 作者: 【 】 浏览:1
Tags:实现 费马小 定理 素数 测试
#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        using namespace std; long long qmod(int a, int b, int p) { long long res = 1; long long term = a%p; while(b) { if(b&1){ res = (res*term)%p; } term = (term*term)%p; b >>= 1; } return res; } bool is_prime(long long n) { int i; for(i = 0; i < 100; ++i) { if(qmod(1+rand()%(n-1),n-1, n) != 1) break; } if(i < 100) return false; else return true; } int main(void) { int n; while(cin >> n) { if(is_prime(n)) cout << "yes" << endl; else cout << "no" << endl; } return 0; }
      
     
    
   
  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇[c++]对象指针,引用的操作 下一篇C++ STL set常用函数大全

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: