⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rsa.c

📁 一个置换密码技术的练习题及解答 另一个是RSA算法中分解两个素数的C程序.
💻 C
字号:
#include<stdio.h>
#include<math.h>
int main()
{
 int i,j,m,n,t,a[32768],b[32768];
 for(i=1;i<=32768;i++)
 {a[i]=i;}
 for(i=2;i<sqrt(32768);i++)//求出 32768以内的所有素数 
    for(j=i+1;j<=32768;j++)
       {
        if(a[i]!=0&&a[j]!=0)
          if(a[j]%a[i]==0)
            a[j]=0;
         }
 printf("请输入n的值:n=");
 while(scanf("%d",&n)!=EOF){
  j=0;
  for(i=2,m=0;i<=32768;i++)
  {if(a[i]!=0) {b[j++]=a[i]; m++;}
  }
  t=0;//标记是否能够分解 
  for(i=0;i<m;i++)
    {for(j=i;j<m;j++)//从i开始加快分解速度 
		if(b[i]*b[j]>=n) break;
	 if(b[i]*b[j]==n) 
        {printf("p=%d  q=%d\n",b[i],b[j]);
         t=1;
		  break;}
       }
  if(t==0)printf("不能分解为两个素数的乘积!\n");
  printf("请输入n的值:n=");}  
  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -