C++作业7

原创 2016年06月02日 12:50:09

项目一:素数和回文

</pre><pre name="code" class="cpp">/*    
* 文件名称:kpii    
* 作    者:张宇恒       
* 完成日期:2016  年  6   月  2  日      
* 版 本 号:v1.0      
* 对任务及求解方法的描述部分:编制2个返回值为int型的函数,用于判断参数是否为素数和回文,调用函数回答以下问题(请包括在一个main()函数中完成,输出时,用明显的提示语,说明正在完成哪个任务。)
* 问题描述:求素数,回文数,回文素数。   
* 程序输出:素数,回文数,回文素数   
* 问题分析:判断素数,回文数,回文素数   
* 算法设计:略   
*/      
#include<iostream>
using namespace std;
int isprimer(int i)
{
	int n=0;
	for(int j=1;j<=i;j++)
		if(i%j==0)
			n++;
		if(n==2)
			return 1;
		else
			return 0;
}
int ispalindrome(int n)
{
	int t,s,a,b;
	if(n<10)
		return 1;
	if(n<100&&n>9)
	{
		t=n/10;
		s=n%10;
		if(t==s)
			return 1;
		else
			return 0;
	}
	if(n<1000&&n>99)
	{
		a=n/100;
		b=n%10;
		if(a==b)
			return 1;
		else
			return 0;
	}
}
void main()
{
	int n,m,k=0,f,q=0,a[100],b[100];
	cin>>n;
	cout<<"素数是:"<<endl;
	for(int i=1;i<n;i++)
	{
		m=isprimer(i);
		if(m==1)
		{
			cout<<i<<" ";
			cout<<"\t";
			b[k]=i;
			k++;
			if(k%7==0)
				cout<<endl;
			f=ispalindrome(i);
			if(f==1)
			{
				a[q]=i;
				q++;
			}
		}
	}
	cout<<endl;
	cout<<"回文数是:"<<endl;
	int g=0;
	for(int j=0;j<n;j++)
	{
		f=ispalindrome(j);
		if(f==1)
		{
			cout<<j<<" ";
			cout<<"\t";
			g++;
			if(g%7==0)
				cout<<endl;
		}
	}
	cout<<endl;
	cout<<"回文素数是:"<<endl;
	int h=0;
	for(i=0;i<q;i++)
	{
		cout<<a[i]<<" ";
		cout<<"\t";
		h++;
		if(h%7==0)
			cout<<endl;
	}
	cout<<endl;
	cout<<"逆素数是:"<<endl;
	int e,p,c,d;
	for(i=0;i<k;i++)
	{
		if(b[i]<10)
			cout<<b[i]<<"\t";
		if(b[i]<100&&b[i]>9)
		{
			e=b[i]/10;
			p=b[i]%10;
			c=10*p+e;
			for(j=0;j<k;j++)
			{
				if(c==b[j])
					cout<<b[i]<<"\t";
			}
		}
		if(b[i]>99)
		{
			e=b[i]/100;
			p=b[i]/10-10*e;
			c=b[i]%10;
			d=100*c+10*p+e;
			if(isprimer(d)==1)
				cout<<b[i]<<"\t";
		}
	}
}


项目2:最大公约和和最小公倍数


/*    
* 文件名称:kpii    
* 作    者:张宇恒       
* 完成日期:2016  年  6   月  2  日      
* 版 本 号:v1.0      
* 对任务及求解方法的描述部分:从键盘中输入两个整数,求这两个整数的最大公约数和最小公倍数,最大公约数采用的算法是辗转相除法(具体算法可用百度)。其中编写自定义函数实现求最大公约数和最小公倍数
* 问题描述:求最大公约数和最小公倍数;   
* 程序输出:最大公约数和最小公倍数  
* 问题分析:略   
* 算法设计:略   
*/      
#include<iostream>
using namespace std;
int f(int m,int n)
{
	int t;
	if(m<n)
	{
		f(n,m);
	}
	else
	{
		while(n!=0)
		{
			t=m%n;
			m=n;
			n=t;
		}
		return m;
	}
}
void main()
{
	int a,b,c,d;
	cout<<"输入两个整数a,b:";
	cin>>a>>b;
	c=f(a,b);
	d=a*b/c;
	cout<<"最大公约数"<<c<<endl;
	cout<<"最小公倍数"<<d<<endl;
}





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

相关文章推荐

C语言程序设计课后作业7——预习报告

预习1 目标:了解循环的嵌套 提示:参考 C语言循环的嵌套 了解更多信息 预习1题,自拟题,要求应用循环的嵌套语句,并说明程序循环执行的过程 -------------------------...

JSP+Servlet培训班作业管理系统[7] -Mysql数据库设计

从本篇开始,速度会变快一点,然后注释会精简一点,但是代码会贴的全一点。本篇来实现JSP+Servlet培训班作业管理系统的数据库部分。首先通过Navicat的ER图标来阅览整个结构:具体说明如下:sy...

RFID第三次作业[7-2]

调制和解调 调制器用于改变高频载波信号,使得载波信号的振幅、频率或相位与要发送的基带信号相关。解调器的作用则是几条获取到的信号,以重现基带信号。从技术上讲,信号需要调制的因素包括: 1)工作频率...

第一周作业1(LeetCode7)

1. 题目要求Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321...

[Coursera机器学习]Support Vector Machines WEEK7编程作业

1.2 SVM with Gaussian KernelsYou should now complete the code in gaussianKernel.m to compute the Gau...

复合材料作业7-2

具体计算代码如下: %时间:2013年12月27日 clear all close all clc global E1 v12 E2 v21 G12 Q11 Q12 Q22 Q66 alpha1...

opencv学习(六)书本《学习Opencv》(中文版)第四章的作业答案第二题(opencv3.0.0+VS2012+win7)

显示坐标很简单,但是显示RGB就必须要非常了解IPlImage结构如何获取数据了,书上讲的非常繁杂,下面仔细分析一下IPlImage结构, opencv最重要的结构体是IplImage结构。从本...

Win7上eclipse无插件提交Hadoop2.2分布式作业

一直以来,都以为,想在Win上提交hadoop集群的作业,必须得在eclipse上安装hadoop-eclipse-plugin插件才可以提交,但最近与同事交流,发现其实,不一定必须安装hadoop的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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