📄 rsa.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 + -