版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要卡布列克运算是指给定任意一个四位整数 N(N>0),其各位数字不完全相同。这个 数必有这样的规律:1)把组成N的四个数字从小到大排列,构成最小四位数min; 2)把组成N的四个数字从大到小排列,构成最大四位数max 3)然后求max与min之差,得到一个新的四位数 ; 把新的四位数重复以上过程,最后总能得到结果: 6174该验证过程采用面向对象方法, 将数学和编程相结合, 再通过构建对象数组来完成。 关键词:卡不列克运算、验证、面向对象、对象数组2设计方案2.1整体设计方案如下:输入(1个4位数)»»检查输入获取各个数位并排序验证过程生成最小四位数 min最大四位
2、数 maxmax与min之差重复以上流程直到结果为61742.1.1输入检查输入要求各位不完全相同的4位数boolkabulek :isAcceptable(intn)if ( n < 1000) returnfalse ;if ( n >= 10000) returnfalse ;int arr4;for (int i = 0;i != 4;i+)arri =n % 10;n /= 10;for ( int i = 0;i != 3;i+)for (int j = i + 1;j != 4;j+)获取各个数位并排序相关头文件cstdlib.hkabulek.hvoid kabul
3、ek :setsort( intn)for (int i = 0;i != 4;i+) nnnni =n % 10;n /= 10;std:sort (nnnn, nnnn + 4);生成最小四位数 min最大四位数maxint kabulek :minForm()int n = 0;for (int i = 0;i != 4;i+)n *= 10;n += nnnn i;return n;int kabulek :maxForm()int n=0;for ( int i = 3;i >= 0;i-)n *= 10;n += nnnn i;return n;验证过程void kabule
4、k:showStep( int n)std:cout << maxForm() <<"-"<<std:setw<<std:setfill( '0')<<minForm() <<"=" <<n <<std:endl;void kabulek :verify。if (hasAccepted= false ) std:cout<<"未接受数字! !" << std:endl;return ;=std:cou
5、t << "num:" <<num << std:endl;this ->setsort(num);int n = maxForm() - minForm();this ->showStep(n);while (n!=6174)this ->setsort(n);n = maxForm() - minForm();this ->showStep(n);std:cout << "检验完毕"<<std:endl;2.1.2验证过程void main()int count =
6、0;kabulek k10000;/建立对象数组for (int i = 1;i != 10000;i+)ki.setNum(i);ki.verify();return ;3.程序演示:SBC:Windowssystem32cmd.ex e请按任意键继续C:Windowssystem32cmd.exe7443'3447=39963963-3699=62646642-2466=41767641-1467=6174检验完毕1027请按任意键继续num:10277210-0127=70838730-0378=83528532-2358=6174检验完毕1028请按任意键继续-num:1028
7、8210-0128=80823820-828»8532B532-2358=6174检验完毕1029倩按5負键吐垃结论无论学习什么,亲自动手去做了才能得到最深刻的体会。附录代码kabulek.h#pragma onceclass kabulek/要验证的数字int num;/十进制位int nnnn4;/是否接受到一个符合要求的数字bool hasAccepted;public :默认构造函数kabulek();kabulek( int );kabulek();/验证void verify();/静态函数isAcceptabble判断是否符合要求static bool isAccept
8、able( int );/num settervoid setNum( int n);private :/构成最小四位数int mi nF orm();/构成最大四位数int maxForm();/求取一个4位数的各位并排序void setsort( int n);/输出验证的每一次步骤void showStep( int );kabulek.cpp#i nclude "kabulek.h" #includealgorithm #inelude <iostream> #inelude <iomanip>void kabulek:setsort( in
9、tn)for ( inti = 0;i != 4;i+) nnnn i=n % 10;n /= 10;std:sort (nnnn, nnnn + 4);kabulek :kabulek()hasAccepted = false ;kabulek :kabulek( int n):num( n)hasAccepted = isAcceptable( n);if (!hasAccepted) return ;this ->setsort( n);kabulek :kabulek()void kabulek:showStep( int n)std:cout << std:setw
10、<< std:setfill( 'O')<< maxForm() <<"-"<<std:setw <<std:setfill( '0') <<minForm() <<"=" <<n <<std:endl;void kabulek :verify()if (hasAccepted= false ) std:cout<<"未接受数字! !" << std:endl;return
11、 ;std:cout << "num:" <<num << std:endl; this ->setsort(num);int n = maxForm() - minForm();this ->showStep(n);while (n!=6174)this ->setsort(n);n = maxForm() - minForm();this ->showStep(n);std:cout << "检验完毕"<<std:endl;boolkabulek :isAccepta
12、ble(intn)if ( n < 1000) return false ;if ( n >= 10000) returnfalse ;int arr4;for (int i = 0;i != 4;i+)arri =n % 10;n /= 10;for (int i = 0;i != 3;i+) for (int j = i + 1;j != 4;j+)void kabulek :setNum( int n)std:cout << n << std:endl; system( "Pause");hasAccepted=isAcceptab
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 落实监管实施方案
- 具身智能+自动驾驶车辆环境感知研究报告
- 监测行业深度研究报告
- 2026年殡葬礼仪师一级(高级技师)理论知识冲刺模拟考试卷及答案(共十一套)
- 2026中国5G通信设备市场饱和度评估及下一代技术储备与投资回报周期研究
- 2026中国半导体设备行业市场发展现状及未来技术趋势研究报告
- 2026中国分级诊疗制度下基层医疗设备升级需求报告
- 2026智能工业仪表行业标准体系及技术路线分析报告
- 2026子女教育行业市场深度研究及服务模式与市场需求研究报告
- 2026中国半导体设备国产化替代进程与市场机遇报告
- 2026新教科版四年级科学上册2.3《 呼吸的变化》课件
- 精算师考试风险管理试题汇编(带解析)
- 2026年采油工(高级技师)模拟试题(含答案)
- 广东省深圳市2026中考语文作文真题解读及范文
- 地下通道工程监理实施细则
- 12短文二篇 《答谢中书书》《与朱元思书》群文阅读公开课一等奖创新教学设计 统编版语文八年级上册
- 危险化学品无储存经营单位演练记录
- 工业人工智能导论 课件 第7-13章 群智能优化算法与生产调度- 智能机器人与应用
- 新能源车电控系统维修手册
- 2025年泉州发展集团有限公司(第二批)人才引进招聘29人笔试备考试题附答案
- 2025年电力行业自主人才评价考评员考试题库
评论
0/150
提交评论