/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者: 刘同宾
* 完成日期:2012 年 11 月 26 日
* 版 本 号:v1.0
* 输入描述:
* 问题描述:用筛选法求100之内的素数。
* 程序输出:
* 问题分析:略
* 算法设计:略
*/
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
cout<<"100以内的全部素数:"<<endl;
int i,j,k;
int a[101];
for(i=1;i<=100;i++)
{
a[i]=i;
}
a[1]=0; //先挖掉a[1]
for(i=2;i<sqrt(100);i++)
{
for(j=i+1;j<=100;j++)
{
if(a[i]!=0&&a[j]!=0)
{
if(a[j]%a[i]==0)
{
a[j]=0; //把非素数挖掉,不是素数的都赋值为0
}
}
}
}
cout<<endl;
for(i=1,k=0;i<=100;i++)
{
if(a[i]!=0) //选出值不为0的数 即素数
{
cout<<setw(5)<<a[i];
k++;
}
if(k==10) //输出10个数后换行
{
cout<<endl;
k=0;
}
}
cout<<endl;
return 0;
}