程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 素數的輸出(擴展)

素數的輸出(擴展)

編輯:C++入門知識

內容:輸出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;
}運行結果:

 \
 


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved