第11周项目六 回文~素数(7)

问题及代码:

  

<pre name="code" class="cpp">/*
 *copyright (c) 2014,烟台大学计算机学院
 *all rights reserved.
 *文 件 名 :回文素数系列.cpp
 *作    者 :张   鹏
 *完成日期 :2014年11月08号
 *版 本 号 :v1.6
 *
 *问题描述 :输出 10000 以内的所有可逆素数。
 *输入描述 :无。
 *程序输出 :输出 10000 以内的所有可逆素数。
 */
#include <iostream>             //预处理指令。
#include <cmath>                //要使用数学符号。
using namespace std;            //使用C++的命名空间 std。
int reverse(int );              //声明自定义函数,用于求反序数。
bool isPrimer(int );            //声明自定义函数,用于判断是否为素数。
int main ()                     //函数首部。
{
	int m,a;
	cout<<"10000以内的逆素数有:";
	for (m=2;m<=10000;m++)      //从2开始循环到10000。
	{
	    a=reverse(m);           //求得反序数。
		if (isPrimer(m))        //调用isPrimer判断是否为素数。
		if (isPrimer(a))        //调用isPrimer函数,并判断是否为可逆素数。
	cout<<m<<'\t';              //输出结果。
	}
	return 0;
}
bool isPrimer(int m)            //自定义函数isPrimer部分。
{
    int a,i;                    //声明2个变量为整型。
    if (m==1)                   //一不是素数,所以返回0代表假。
        return 0;
    for ( i=2; i<=sqrt(m); i++) //求是否有因子。
    {
        a=m%i;
        if (a==0)
            return 0;
    }
    return 1;
}
int reverse(int x)              //自定义函数reverse部分。
{
    int m=0,r;                  //声明两个变量m,r为整型。
    while (x>0)
    {
        r=x%10;
        m=m*10+r;
        x=x/10;
    }                           //求得反序数。
    return m;                   //返回反序数的值。
}

 
 运行结果: 
 

  第11周项目六 回文~素数(7)_第1张图片

学习心得:

 项目六作完了,好开心!多亏同学提醒我看错题目的意思了,不然就错了。

你可能感兴趣的:(编程,C++,namespace,计算机)