输入两个正整数m和n(m≥1,n≤500),输出m和n之间的所有素数,每行输出6个,
每个正整数按%4d格式输出
#include<stdio.h>
#include<math.h>
int main(void)
{
int count,i,x,y,m,n;
count=0;
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
if(m>1)
for(x=m;x<=n;x++);
else
for(x=2;x<=n;x++)
{
y=sqrt(x);
for(i=2;i<=y;i++)
if(x%i==0)
break;
if(i>y){
printf("%4d",x);
count++;
if(count%6==0)
printf("\n");
}
}
printf("\n");
return 0;
}
求改错~ 展开
1、打开Flash软件,选择“ActionScript3.0”选项,新建一个空白文档。
2、选择“编辑栏”的“文本工具”,在“属性”面板中选择“输入文本”,在舞台绘制一个输入文本框,将“实例名称”更改为“in1_txt”。
3、定义按钮out_btn鼠标单击事件的侦听器,接收函数为onClick。
4、接着,定义侦听器函数onClick,事件为鼠标事件。
5、函数中,先定义一个布尔型变量,用于标识数字是否为素数,先赋值为真。
6、定义起始数min和结束数max,类型为整型,用parseInt函数将输入文本框中的字符串转换为数字,并分别赋值给两个变量。
7、定义字符型变量str,用于保存已确定的素数。
8、运行程序,结果如下图所示。
注意事项:
质数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义。
#include<math.h>
int main(void)
{
int count,i,x,y,m,n;
count=0;
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
if(m>n)//m,n如果不是m小的话,换一下
{
i=m;
m=n;
n=i;
}
//if(m>1)//这个不用判断的,因为题目已经说了。他是让你放心,不是让你判断
{
for(x=m;x<=n;x++)//;这里多分号
{
y=sqrt(x*1.0);//我是用C++的这里的重载要明确
for(i=2;i<=y;i++)
if(x%i==0)
break;
if(i>y)//说明x是素数
{
printf("%4d",x);
count++;
if(count%6==0)
printf("\n");
}
}
printf("\n");
return 0;
}
}
if(m>n){
for(x=n;x<=m;x++);
m=n;
n=x; }
删掉13行的else
#include<stdio.h>
main()
{
int tag,i,j,m,n,k=0,s=0;
printf("输入m和n\n");
while(scanf("%d %d",&m,&n)==1);
for(i=m;i<=n;i++)
{if(i==1) tag=1; //先把1标记为非质数
else tag=0; //判断每一个i前,值0.假定i为质数
for(j=2;j<i;j++)
if(i%j==0)
tag=1; //非质数
if(tag==0)
{s=s+i;k++; //求质数和,判断质数个数
printf("%-4d ",i); //左对齐
if(k%12==0) printf("\n"); //每输出12个质数换行
}
}
printf("\n\n");
printf("%d %d",k,s);
}