码迷,mamicode.com
首页 > 编程语言 > 详细

从一个数对列中找出素数对用于RAS加密的C++程序

时间:2020-04-30 13:16:25      阅读:77      评论:0      收藏:0      [点我收藏+]

标签:using   除了   return   bsp   ++   素数   prime   turn   str   

#include <iostream>

#include <cmath>

using namespace std;

const int n = 10000;

int isPrime(int n);

 

int main()

{

    for(int i = 2; i < n;++ i) {//产生10000个数队列

        if(isPrime(i)) { //判断变换前的数是否为素数

            int count = 1;

            int sum = 0;

            for(int j = i;j > 1;) {//对数进行某种特定的变换

                 if(j % 2 != 0) {

                     sum = sum + count;

                 }                                                                                  

                 count = count * 2;

                  j = j / 2;

            }

             if(isPrime(sum)) {//判断变换后的数是否为素数,如果是素数,则输出

                  cout << i << "  " << sum << endl;

             }

          }

    }

        

   return 0;

}

 

int isPrime(int n) //判断一个数是否为素数的函数

{

    if(n < 2) return false;

   

    for(int i = 2; i <= sqrt(n); i++) {

        if((n % i) == 0) // 如果能被除了1和它本身的数整除,就不是素数

            return false;

    }

 

    return true; // 是素数

}

从一个数对列中找出素数对用于RAS加密的C++程序

标签:using   除了   return   bsp   ++   素数   prime   turn   str   

原文地址:https://www.cnblogs.com/chanji/p/12808167.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!