VC课程设计—判断可逆素数VC课程设计—判断可逆素数
编号:14
计算机软件技术基础(VC)
2011年课程设计报告
一、题目:设计一个判断某数是否为可逆素数的程序 二、设计思路
1总体设计
1)分析程序的功能
通过此程序可判断一个数字是否为可逆素数
2)系统总体结构
本程序总共用到了3个文件
1、myfunction.h 作用是:
(1)获得逆序数,通过函数int Reverse(int inNum);
(2)判断是否为素数,通过bool isPrime(int inNum);
2、myfunction.cpp 作用是:实现...
VC课程设计—判断可逆素数
编号:14
计算机软件技术基础(VC)
2011年课程设计
一、题目:设计一个判断某数是否为可逆素数的程序 二、设计思路
1总体设计
1)分析程序的功能
通过此程序可判断一个数字是否为可逆素数
2)系统总体结构
本程序总共用到了3个文件
1、myfunction.h 作用是:
(1)获得逆序数,通过函数int Reverse(int inNum);
(2)判断是否为素数,通过bool isPrime(int inNum);
2、myfunction.cpp 作用是:实现上述两个函数。
3、Main.cpp通过调用myfunction.h中的两个函数,从而形成一个判断可逆素数的函数void
ReversePrime.()。
1
编号:14
2 各功能模块的设计
所用到的函数有:
1、int Reverse(int inNum);用来获得逆序数。实现方法是:从整数的末尾依次截取最后一位数字,每截取一次后整数缩小10倍,将截取的数字作为新的整数的最后一位(新的整数扩大10倍后加上被截取的数字)。这样原来的整数的数字从低到高被不断地截取,依次作为新的整数从高到低的各位数字 2、bool isPrime(int inNum); 用来判断数inNum是否为素数。实现方法是:遍历2以上N的平方根以下的每一个整数,是不是能整除N。若能整除,返回false,即不是素数;若遍历完没有数能整除,则返回false,N是素数。
3、void ReversePrime.(); 用来判断可逆素数。实现方法是:用户输入某4位数,若既满足isPrime又满足reverse,则为可逆素数。
4、void main();实现程序功能。通过main函数将上述函数组织起来,并有是否继续输入新的4位数等功能。
3、设计中的主要困难及解决
1)困难1:判断一个四位数是否为素数
解决方案:遍历2以上N的平方根以下的每一个整数,是不是能整除N。若能整除,返回false,即不是素数;若遍历完没有数能整除,则返回false,N是素数。
2)困难2:求一个整数的反序数
解决方案:求反序数的方法是从整数的末尾依次截取最后一位数字,每截取一次后整数缩小10倍,将截取的数字作为新的整数的最后一位(新的整数扩大10倍后加上被截取的数字)。这样原来的整数的数字从低到高被不断地截取,依次作为新的整数从高到低的各位数字。
4、你所设计的程序最终完成的功能
1)说明你编制的程序能完成的功能:输入一个数字,判断其是否为一个四位可逆素数;
2)准备的测试数据及运行结果:
2
编号:14
三、程序清单
1(文件myFunction.h
//获得逆序数
int Reverse(int inNum); //判断是否为素数
bool isPrime(int inNum); //myFunction.cpp
#include
#include
int Reverse(int inNum) { int res=0;
char ch[4]={0};
//倒序
for (int i=0; inNum!=0; i++)
{
ch[i] = inNum%10;
inNum /= 10;
}
//类型转换
res = atoi(ch);
return res;
}
bool isPrime(int inNum) {
bool primes;
for(int i=2; i<=sqrt(inNum+1); i++)
3
编号:14
{
if(inNum%i == 0)
{
primes=false;
break;
}
else
primes=true;
}
return primes;
}
2(文件main.cpp
#include #include "myFunction.h" void ReversePrime(); void main()
{
ReversePrime();
char i;
cin>>i;
while(i=='1')
{ ReversePrime();
cin>>i;
}
}
void ReversePrime()
{
int inNum=0;
cout<<"请输入要判断的4位数:";
cin>>inNum;
//对输入进行判断
while ((inNum/1000)>=10||(inNum/1000)==0)
{
cout<<"您输入的不是4位数,请重新输入."<>inNum;
}
//判断是否为可逆素数
if (isPrime(inNum) && isPrime(Reverse(inNum)))
cout<
本文档为【VC课程设计—判断可逆素数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。