C++实验7-素数和回文

原创 2016年06月01日 23:39:42

一、问题及代码


/*  
* 文件名称: homework.cpp 
* 作    者:  万绍良 
* 完成日期: 2016  年 6 月 1 日  
* 版 本 号:v1.0  
* 对任务及求解方法的描述部分: 使用函数及循环结构应对素数和回文;
* 输入描述: 无;
* 问题描述: 找出200以内的素数、回文数、回文素数、可逆素数;
* 程序输出: 200以内的素数、回文数、回文素数、可逆素数;
* 问题分析: 了解如何找出素数和回文;
* 算法设计: 使用函数和循环;
*/
#include<iostream.h>
int isPrimer(int n)//判断是否为素数
{
	int a,b=1;
	for(a=2;a<n;a++)
		if(n%a==0)
		{
			b=0;
			break;
		}
	return b;
}
int isPalindrome(int n) //判断是否为回文
{	
	int m=n,h=0,t=1;
	while(m!=0)	
	{			
			h=h*10+m%10;
			m=m/10;	
	}
	if(h!=n)
		t=0;
	return t;
}
int main()
{
	int i,j=0,m=0,n=0,k=0,p,r;
	int a[80],b[80],c[80],d[80];
	for(i=2;i<300;i++)
	{
		if(isPrimer(i))//素数
		{
			a[j]=i;
			j++;			
			r=i;
			p=0;
			while(r!=0)
			{
				p=p*10+r%10;
				r=r/10;
			}
			if(isPrimer(p))//可逆素数
			{
				d[k++]=i;
			}
		}		
		if(isPalindrome(i))//回文数
		{
			b[m++]=i;
		}
		if(isPrimer(i) && isPalindrome(i))//回文素数
		{
			c[n++]=i;
		}		
	}
	cout<<"300以内的所有素数有:"<<endl;
	for(i=0;i<j;i++)
	{
		cout<<a[i]<<"\t";
		if((i+1)%6==0)
			cout<<endl;
	}
	cout<<endl<<"300以内的所有回文数有:"<<endl;
	for(i=0;i<m;i++)
	{
		cout<<b[i]<<"\t";
		if((i+1)%6==0)
			cout<<endl;
	}
	cout<<endl<<"300以内的所有回文素数有:"<<endl;
	for(i=0;i<n;i++)
	{
		cout<<c[i]<<"\t";
		if((i+1)%6==0)
			cout<<endl;
	}
	cout<<endl<<"300以内的所有可逆素数有:"<<endl;
	for(i=0;i<k;i++)
	{
		cout<<d[i]<<"\t";
		if((i+1)%6==0)
			cout<<endl;
	}
	cout<<endl;
	return 0;
}




二、运行结果




三、心得体会


在使用自己定义的函数时,需要认真检查是否正确;

如果程序很长而又在编译时出错,可以一部分一部分注释掉来检查错误,这样才能更有效率地改正自己的代码。


四、知识点总结


在编写这个程序的过程中很好地学到了如何将一个数倒过来,这是一种非常有用的办法,在应对回文及可逆方面非常实用,可以背下来日后备用。

版权声明:本文为博主原创文章,未经博主允许不得转载。

素数回文——输出两整数之间所有既是回文数又是素数的数 C++实现

*问题分析与算法设计   所谓回文素数是指,对一个整数n从左向右和从由向左读其结果值相同且是素数,即称n为回文素数。所以本题的重点不是判断素数的方法,而是求回文整数。构造回文数的方法很多,这里仅介绍...

POJ NOI0113-05 素数回文数的个数(Bailian2928)

问题链接:POJ NOI0113-05 素数回文数的个数。 原题出处:PKU2928 素数回文数的个数。 总时间限制:1000ms内存限制: 65536kB 描述 求11到n之间(包括n)...

c++实验7-素数和回文

一、问题及代码 /* * 文件名称:funl.cpp * 作 者:刘何毓 * 完成日期: 2016年 6月5日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:调用函数回答问...

C++第七次实验-素数和回文

一、上机目的 掌握函数的应用 二、问题及代码 编制2个返回值为int型的函数,用于判断参数是否为素数和回文,调用函数回答以下问题 (1)输出300以内的所有素数。 (2)输出300以内的所有回文数。...
  • wqf1997
  • wqf1997
  • 2016年06月02日 16:07
  • 223

第七次C++实验-素数和回文

/* * 文件名称: 素数和回文 * 作 者: 石宇建 * 完成日期: 2016年 6月 4 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:编制2个返回值为int...
  • syj0105
  • syj0105
  • 2016年06月04日 13:13
  • 162

C++第7次实验-素数与回文

一、问题及代码/* 文件名称:素数和回数.cpp * 作 者:曾瑞嘉 * 完成日期:2016 年 6 月5 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:项目1:素数和回文 编...

C++第7次实验-项目一:素数与回文

一、问题及代码 /* * 文件名称:001.cpp * 作 者:李宪 * 完成日期: 2016 年 6 月 5 日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:...

C++第七次实验--素数和回文

项目1:素数和回文 编制2个返回值为int型的函数,用于判断参数是否为素数和回文,调用函数回答以下问题(请包括在一个main()函数中完成,输出时,用明显的提示语,说明正在完成哪个任务。) ...

数据结构实验 素数 回文

  • 2010年05月26日 20:27
  • 738KB
  • 下载

c++回文素数

  • 2013年12月08日 12:22
  • 766B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++实验7-素数和回文
举报原因:
原因补充:

(最多只允许输入30个字)