早教吧 育儿知识 作业答案 考试题库 百科 知识分享

一、题目:设计一个判断某数是否为可逆素数的程序二、目的与要求1.目的:培养学生综合利用C++语言进行程序设计的能力,提高软件系统分析能力和程序文档建立、归纳总结的能力,培

题目详情
一、题目:设计一个判断某数是否为可逆素数的程序
二、目的与要求
1. 目的:
培养学生综合利用C++语言进行程序设计的能力,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计的能力。
2. 基本要求:
(1)要求用C++语言编程,在Visual C++环境下调试完成;
(2)用户界面友好,功能明确,操作方便;可以加以其他功能或修饰要求划分功能模块,各个功能分别使用函数来完成;
(3)源代码程序要有必要的注释,以增强程序的可读性。
三、设计方法和基本原理
1.课题功能描述
判断一个四位数是否为可逆素数。可逆素数指:一个素数将其各位数字的顺序倒过来构成的反序数也是素数。
2.问题的解决方案
首先判断一个四位数是否为素数,然后求它的反序数,最后判断它的反序数是否为素数。本题的重点不是判断素数的方法,而是求一个整数的反序数。
四、主要技术问题的描述
根据三的分析,主要问题在于如何求反序数。
求反序数的方法是从整数的末尾依次截取最后一位数字,每截取一次后整数缩小10倍,将截取的数字作为新的整数的最后一位(新的整数扩大10倍后加上被截取的数字)。这样原来的整数的数字从低到高被不断地截取,依次作为新的整数从高到低的各位数字。
五、创新要求
在基本要求达到后,进行创新设计:
(1)使用多文件,即主函数和各个函数分别存放在不同的.cpp文件中,在头文件中进行函数原型声明;
(2)创新性的提出算法设计。
六、课程设计的考核方式及评分方法
1.考核方式
(1) 学生要提交书面课程设计报告(A4纸打印);并将设计报告的电子文档、.cpp源文件和.h头文件放到一个文件夹里上传到所对应班级的学生名称相应文件夹中。
(2) 课程设计结束时,在机房当场验收。教师提供测试数据,由学生运行所设计的系统,检查运行结果是否正确,并回答教师提出的有关问题。
2.评分方法
根据出勤率、课程设计期间纪律、课程设计运行结果、课程设计报告及答辩情况综合评分。
七、书写设计报告的要求(详细内容见“设计报告模板”)
八、说明:课程设计的有关文档,“设计报告模板”和“课程设计要求”请在下载任务书处下载。
答案正确会追加分
▼优质解答
答案和解析
#include
bool issushu(int a);
int tranint(int a);
using namespace std;
int main()
{
int input;
cin>>input;
if(issushu(input))
cout< else
{
cout< }
int aftertr;
aftertr=tranint(input);
cout< if(issushu(aftertr))
{
cout< }
else
cout< system("pause");
return 0;
}
bool issushu(int a)
{
int i;
for(i=2;i {
if(0==a%i)
return false;
}
return true;
}
int tranint(int a)
{
int aftertr=0;
int j=1;
int i=a;
while(i=i/10)
{
j=j*10;
}
for(;j>=1;j=j/10)
{
aftertr+=(a%10)*j;
a=a/10;
}
return aftertr;
}
本改进版程序不仅可以判断四位数。。。