密码学分为两类密码:对称密码和非对称密码。
对称密码主要用于数据的加/解密,而非对称密码则主要用于认证、数字签名等场合。
非对称密码在加密和解密时,是把加密的数据当作一个大的正整数来处理,这样就涉及到大整数的加、减、乘、除和指数运算等,同时,还需要对大整数进行输出。
请采用相应的数据结构实现大整数的加、减、乘、除和指数运算,以及大整数的输入和输出。
【基本要求】1.要求采用链表来实现大整数的存储和运算,不允许使用标准模板类的链表类(list)和函数。
同时要求可以从键盘输入大整数,也可以文件输入大整数,大整数可以输出至显示器,也可以输出至文件。
大整数的存储、运算和显示,可以同时支持二进制和十进制,但至少要支持十进制。
大整数输出显示时,必须能清楚地表达出整数的位数。
测试时,各种情况都需要测试,并附上测试截图;
要求测试例子要比较详尽,各种极限情况也要考虑到,测试的输出信息要详细易懂,表明各个功能的执行正确。
2.要求大整数的长度可以不受限制,即大整数的十进制位数不受限制,可以为十几位的整数,也可以为500多位的整数,甚至更长;
大整数的运算和显示时,只需要考虑正的大整数。
如果可能的话,请以秒为单位显示每次大整数运算的时间。
3.要求采用类的设计思路,不允许出现类以外的函数定义,但允许友元函数。
主函数中只能出现类的成员函数的调用,不允许出现对其它函数的调用。
4.要求采用多文件方式:.h文件存储类的声明,.cpp文件存储类的实现,主函数main存储在另外一个单独的cpp文件中。
如果采用类模板,则类的声明和实现都放在.h文件中。
5.不强制要求采用类模板,也不要求采用可视化窗口;
要求源程序中有相应注释。
6.要求采用VisualC++6.0及以上版本进行调试。
1
这是一份VC++制作的科学计算器的代码,可以在VC++6.0上运行,基本可以实现,加减乘除,指数,对数,三角函数,反三角函数,进制转换
2023/9/30 17:31:54 2.61MB VC++计算器
1
程序是使用MFC实现计算器的功能,能进行的运算由加减乘除、指数运算、开方运算等,支持连续输入,栈是本人编写的,是初学数据结构于MFC很好的例子。
2019/5/15 1:31:43 19.4MB MFC
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡