标签:des style io os sp for strong 文件 div
西南科技大学
ACM解题报告
姓名:张艺童
学号:5120142109
组号:3
班级:软件1402
1 题目来源:OJ 0615
2 题目描述:
Description
输出[m,n]间的所有素数,并且每5个换行,如果区间内不存在素数,输出0
1
|
3 17
|
1
2
3
|
3 5 7 11 13
17
|
3 题目分析及知识点:
知识点是判断一个数是否为素数;
重点在于怎样在判断了某个数是否为素数之后能够将其输出,建立动态数组来储存素数,然后在最后的部分一一输出,控制好换行即可。
4 AC源代码:
#include<stdio.h>
#include<malloc.h>
int main()
{
int sushu(int a);
int m,n,s;
int *a=(int*)malloc(10000000*sizeof(int));
while(scanf("%d%d",&m,&n)!=EOF)
{
if((m==0&&n==1)||(m==1&&n==2))
printf("2\n");
else
{
if(m==0&&n==2)
printf("3\n");
else
{
int j=0;
for(int i=m;i<=n;i++)
{
s=sushu(i);
if(s==0)
{
a[j]=i;
j=j+1;
}
}
if(j==0)
{
printf("0\n");
}
else
{
for(int k=0;k<j-1;k++)
{
printf("%d",a[k]);
if((k+1)%5==0)
{
printf("\n");
}
else
printf(" ");
}
printf("%d\n",a[j-1]);
}
}
}
}
return 0;
}
int sushu(int a)
{
int u=0;
for(int l=2;l<a;l++)
{
if(a%l==0)
{
u=u+1;
break;
}
}
return (u);
}
5 做题心得:
首先,做题过程中遇到的问题就是不知道该怎样用一个数组来储存素数;
在学习了建立动态数组之后,就顺利解决了这个问题。
建立动态数组:
头文件:#include<malloc.h>
int *a=(int*)malloc(100000*sizeof(int));
即建立了一个大小为100000的动态数组,当然这只是其中的一种方式。
标签:des style io os sp for strong 文件 div
原文地址:http://www.cnblogs.com/try-my-best/p/4100385.html