程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++回文數及素數成績盤算辦法

C++回文數及素數成績盤算辦法

編輯:關於C++

C++回文數及素數成績盤算辦法。本站提示廣大學習愛好者:(C++回文數及素數成績盤算辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C++回文數及素數成績盤算辦法正文


本文實例講述了C++回文數及素數成績盤算辦法。分享給年夜家供年夜家參考,詳細以下:

 /*
* 作 者: 劉同賓
* 完成日期:2012 年 11 月 16 日
* 版 本 號:v1.0
*
* 輸出描寫:  編制一個前往值為bool型的函數isPrimer(),用於斷定參數能否為素數,isPalindrome()用於斷定參數能否是回文數,挪用函數答復以下成績(可以分離編制幾個法式完成,也能夠在一個main()函數中完成,輸入時,用顯著的提醒語,解釋正在完成哪一個義務。)
 (1)輸入10000之內的一切素數。
 (2)輸入10000之內的一切回文數。
 (3)輸入10000之內的一切回文素數。
* 成績描寫:
* 法式輸入:
* 成績剖析:略
* 算法設計:略
*/
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int fanxushu(int i); //函數聲明
bool ispalindrome(int i);
bool isprimer(int i);
int main()
{
  int a;
  cout<<"輸入10000之內的一切素數:"<<endl;
  for(a=2;a<=10000;++a)
  {
    if(isprimer(a))
    {
      cout<<a<<" ";
    }
  }
  cout<<endl<<endl;
  cout<<"輸入10000之內的一切回文數:"<<endl;
  for(a=2;a<=10000;++a)
  {
    if(ispalindrome(a))
    {
      cout<<a<<" ";
    }
  }
  cout<<endl<<endl;
  cout<<"輸入10000之內的回文素數:"<<endl;
  for(a=2;a<=10000;++a)
  {
    if(isprimer(a)&&ispalindrome(a))
    {
      cout<<a<<" ";
    }
  }
  cout<<endl<<endl;
  return 0;
}
int fanxushu(int i) //反序數函數
{
  int l;
  l=0;
  while(i>0)
  {
    l=l*10+i%10;
    i=i/10;
  }
  return l;
}
bool ispalindrome(int i) //回文數函數
{
  int j,l;
  bool palindrome=false;
  j=i;
  l=0;
  while(j>0)
  {
    l=l*10+j%10;
    j=j/10;
  }
  if(i==l)
  {
    palindrome=true;
  }
  return palindrome;
}
bool isprimer(int i) //素數函數
{
  int j,k;
  bool prime=true;
  k=int(sqrt(i));
  for(j=2;j<=k;++j)
  {
    if(i%j==0)
    {
      prime=false;
      break;
    }
  }
  return prime;
}

運轉後果以下圖所示:

願望本文所述對年夜家C++法式設計有所贊助。

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