素数的输出(扩展)
内容:输出m和n之间的素数
目的:掌握素数的判断及不同情况的输出
程序代码:
[cpp]
/*
* 程序的版权和版本声明部分:
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:匡效国
* 完成日期:2013 年 4 月 12 日
* 版 本 号:v1.0
*
* 对任务及求解方法的描述部分:
* 输入描述: 输入数据包含两个整数m,n(100<=m<=n<=1000)。
* 问题描述:输入两个整数m,n(100<=m<=n<=1000),按每行5个从小到大输出m到n之间(包含m,n)的所有素数。
* 注意:如果一行有五个数,那么最后一个数后面没有空格。最后一行不足五个数则不换行,
* 其后也无空格
* 程序输出:见下图
* 问题分析:略
* 算法设计:略
*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int m,n,i,j,k,t=0;
bool prime;
cin>>m>>n;
for(i=m;i<=n;i++)//此处为素数的判断方法
{
k=sqrt(i);
prime=true;
for(j=2;j<=k;j++)
{
if(i%j==0)
{
prime=false;
break;
}
}
if(prime)//若prime为真时,由输出描述得,需分三种情况输出
{
t+=1;
if(t-1==0)//此为每一行的第一个数
cout<<i;
else if(t%5==0)//此处为每一行的第五个数
{
cout<<" "<<i;
cout<<endl;
t=0;
}
else//此处为每一行的中间数或最后一行的最后一个数
cout<<" "<<i;
}
}
return 0;
}
/*
* 程序的版权和版本声明部分:
* Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:匡效国
* 完成日期:2013 年 4 月 12 日
* 版 本 号:v1.0
*
* 对任务及求解方法的描述部分:
* 输入描述: 输入数据包含两个整数m,n(100<=m<=n<=1000)。
* 问题描述:输入两个整数m,n(100<=m<=n<=1000),按每行5个从小到大输出m到n之间(包含m,n)的所有素数。
* 注意:如果一行有五个数,那么最后一个数后面没有空格。最后一行不足五个数则不换行,
* 其后也无空格
* 程序输出:见下图
* 问题分析:略
* 算法设计:略
*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int m,n,i,j,k,t=0;
bool prime;
cin>>m>>n;
for(i=m;i<=n;i++)//此处为素数的判断方法
{
k=sqrt(i);
prime=true;
for(j=2;j<=k;j++)
{
if(i%j==0)
{
prime=false;
break;
}
}
if(prime)//若prime为真时,由输出描述得,需分三种情况输出
{
t+=1;
if(t-1==0)//此为每一行的第一个数
cout<<i;
else if(t%5==0)//此处为每一行的第五个数
{
cout<<" "<<i;
cout<<endl;
t=0;
}
else//此处为每一行的中间数或最后一行的最后一个数
cout<<" "<<i;
}
}
return 0;
}运行结果:
补充:软件开发 , C++ ,