2015年1月16日 星期五

P1 選修C 的三個Prime程式

除了以下這三個之外還有兩個範例,明日(1/17)會加入
第一個prime-1.cpp 輸入一個數 n 判斷是否為質數
#include <iostream>
using namespace std;
int main()
{
  int n , i ;
 
  while( cin >> n )
  {
    if(n==1) { cout << "No\n"; continue; }
    for(i=2; i<n; ++i)
      if( n % i == 0 )  break;

    if( i <n ) cout << "No";
    else       cout << "Yes";
    cout << endl;
  }        
  system("pause");
  return 0;
}

第二個prime-2.cpp 輸入一個數 n 判斷是否為質數
#include <iostream>
#include <cmath>  // sqrt
using namespace std;
bool isp( int n )   // 函數方式判斷是否質數
{
  int q = int(sqrt(n));   // 只須檢查至平方根
  int i;  
  if(n==1)  return false;
  for(i=2; i<=q; ++i)
      if( n % i == 0 )  return false;
  return true;  
}
   
int main()
{
  int n ;
  while( cin >> n )
  {
    if( isp(n) ) cout << "Yes\n";
    else       cout << "No\n";
  }        
  system("pause");
  return 0;

}

第三個prime-3.cpp 輸入一個數 n  列出1~n的質數,每10個換列
#include <iostream>
#include <cmath>  // sqrt
using namespace std;
bool isp( int n )
{
  int q = int(sqrt(n));
  int i;  
  if(n==1)  return false;
  for(i=2; i<=q; ++i)
      if( n % i == 0 )  return false;  
  return true;  
}    
int main()
{
  int i,n,cnt ;
  while( cin >> n )
  {
     cnt =0;
     for(i=2; i<=n; ++i)
       if( isp(i) )
       {
          cout << i << " ";
          if((++cnt)%10==0) cout << endl;
       }
  cout << endl;                
  }        
  system("pause");
  return 0;
}


Related Posts:

  • 台中女中b004~b008\b005 b004: 一個都不能少 輸入2個正整數n,m,共有n個,回來m個,印出還沒回來的數 例如: 輸入的n=4,m=3 接著回來的3個數為 5 3 1 則印出 2 4 須宣告整數n,m、陣列a[20+1] ,因題目規定最多20個:int n,m, a[21]; 讀入n,m:cin >&… Read More
  • 推理10:1A2B遊戲 推理步驟參考 Read More
  • 推理11數字推理類,步驟參考 第十一題:數字推理類:找其中任一組解 下列式子的 a~j 各代表數字 0~9且不重複,g≠0, a<c<f , b<e ,問a~j各代表的數字為何? … Read More
  • 台中女中b009~b010 b009: 無限猴子定理 讀入2個字串s1及s2,長度為n1、n2,問是否可由s2挑n1個字(順序不可對調)湊成s1 例如:{s1=ABC、s2=AXBXC}可,但{s1=YES、s2=YXyesS}不可:因找不到E      又{s1=YES、s2=Y… Read More
  • 台中女中b005 b005:熱門點播 方法一:不可行? 讀入n個數字,假設10個數字,且讀入的數字< MaxN(1000000)的話, 可以類似b002直接宣告陣列且在1~MaxN找出現最多的是哪一個 例如輸入: 10 55555 666 7777 99999 55555 333 22 111 555… Read More

0 意見:

張貼留言