#include
#include
void main()
{
int m,n,i,k;
n=0;
for(m=201;m<300;m=m+1)/*最外循环显示取值范围*/
{
k=sqrt(m);/*此处是判断一个数是否是素数的方法,一个素数是数就是除了2和它本身之外不能被其他书整除,方法就是把m(假如m是素数)看做被除数,2到√m(开根号)之间的数作为除数,如果m能出尽i就说明m不是素数,否则就是素数*/
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>=k+1)
{
printf("%d ",m);
n=n+1;/*n相当于一个计数器,每输出一个素数加1,直到加到5时相当于在一行输出了5个素数,这时就利用n%5==0实现换行*/
}
if(n%5==0) /*每行显示5个数*/
printf("\n");
}
}
输出200..300之间的素数,要求从小到大,每行显示5个数
#include "stdio.h"
#include "math.h"
void main()
{
listPrimeNumber(200, 300);
}
/* 输出start至end之间的所有素数 */
void listPrimeNumber(int start, int end)
{
int num;
int count = 0;
for(num=start; num<=end; num++)
{
if(isPrimeNumber(num) == 1)
{
if(count++ % 5 == 0)
{
printf("\n%d\t", num);
}
else{
printf("%d\t", num);
}
}
}
}
/* 判断一个正整数是否是素数:1 素数,0 非素数 */
int isPrimeNumber(int num)
{
int k = (int)sqrt(num);
int i;
for(i=2; i<=k ;i++)
{
if(num % i == 0)
{
break;
}
}
if(i > k)
{
return 1;
}
return 0;
}
你好,标准答案如下:
#include
main()
{
int i,j,counter=0;
for(i=11; i<=100; i+=2)
{
for(j=2;j<=i;j++)
if(i%j==0)break;
if(j>=i)
{
printf("%4d",i);
counter++;
}
if(counter%5==0)
printf("\n");
}
}
#include
void main()
{ int n=0, i, j,w,k;
for(i=2;i<=1000; i++)
{w=1;
k=sqrt(i);
for (j=2; j<=k; j++)
if (i%j==0)
if (w) {
++n;
if (n%10==0) printf("%d\n",i);
else printf("%d\t",i);
}
}
}
另外,团IDC网上有许多产品团购,便宜有口碑
#include
main()
{
int i,j,k=0;
for(i=200; i<=300; i++)
{
for(j=2;j if(i%j==0)break;
if(j>=i)
{
printf("%4d",i);
k++;
}
if(!(k%5))
printf("\n");
}
}