- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
水仙花数算法研究及其C语言代码实现
/**水仙花数算法研究及其C语言代码实现BnBn-1...B1=X(N)= sum{ digit = 0..9, count_digit[digit] * power(digit, N)}@author 东海陈光剑剑魔书仙读书录水仙花数的相关数学证明及其算法源程序实现The Computer Solution Of Narcissistic Number Mathematical Proofs东海陈光剑剑魔书仙读书录 2013.4.28 @ iSoftStone[参数说明]N(n):n位十进制正整数N(n)MAX(n):n位十进制正整数最大值10 n -1MIN(n):n位十进制正整数最大值10 n-1Nar(n):n位十进制正整数中的水仙花数b n-1,b n-2,...,b 1,b 0:N(n)各位十进制数位上的数字,显然b n-10.k 0 ,k 1 ,...,k 9 : N(n)中数字0,1,2,...,9 分别总计出现的次数.显然k i =0 sum(k i )=n.k 0 *0^n + k 1 *1^n + ...+ k 9 * 9^n =N(n).(i=0,1,2...,9)穷举所有十元组(k 0 ,k 1 ,...,k 9 );对满足条件[*]的一个特定的十元组(k 0 ,k 1 ,...,k 9 )*,即可确定唯一的一个Nar(n).[定理]0. MIN(n)Nar(n)MAX(n)1. n60,Nar(n)不存在.2. 对满足条件[*]的一个特定的十元组(k 0 ,k 1 ,...,k 9 )*,确定唯一的一个Nar(n).3. 不定方程k 0 + k 1 +...+ k 9 = n 非负整数解十元组Sj的个数为C{10+n-1,10-1}=C{9+n,9}= (9+n)!/[(9!)(n!)]组.[算法描述]Step1.求解不定方程k 0 + k 1 +...+ k 9 = n 所有的非负整数解S集.Step2.对每个解Sj计算 k 0 *0^n + k 1 *1^n + ...+ k 9 * 9^n =T(n) 2.1 判断T(n)是否满足定理[0],if YES ,goto 2.2; else Next S(j+1); 2.2 判断T(n)中各位数字上的0,1,2,3,...,9 的个数是否恰好等于Sj=(k 0 ,k 1 ,...,k 9 ). if YES, T(n)=N(n)=Nar(n), print T(n); else Next S(j+1);Step3.重复Step 2, until 穷举完毕所有的解S集.*/#include stdio.h#include time.h#define N 21#define G 9 //当N=21时,G = count_digit9 最多出现的次数是9次 ----- count_count_digit[i] MAX/i^N/**G:N位水仙花数中数字9最多出现的次数,超过G个9之后,水仙花表达式算出来的值就不是N位数了(大于N位数)二元组(N,G)如下:--------NG--------112131425262728293103113124134144155165176187197208219221023112413251426152717281929213024312632293332---------343435353636373738383939---------*///int count_digit[10]={0}; //count_digit[10]用来得到0-9数字出现的个数int p[10][N]={0};//p数组用来计算出0-9的N次方。int count_mul_power[10][N]={0}; //count_mul_power用来计算数字出现次数乘以它的N次方//int count=0; //计算得到几个水仙花数了,得到2个以后就结束程序void init_power() //这个函数用来获得0-9的N次方,存在p数组里{ int i,j,k; for(i=0;i10;i++) p[i][N-1]=i; //矩阵每行全部初始化为(0,1,2,3,4,5,6,7,8,9) for(k=2;k10;k++) { for(i=1;iN;i++) { for(j=N-1;j=0;j--) { p[k][j]*=k; // 计算k=0-9的N次方 p[i][N]=i^N } f
您可能关注的文档
- 新托福听力高频词汇在线学习.docx
- 新托福考试阅读-Men and women look more alike than ever before, scie.docx
- 新托福听力素材:绘画知识.docx
- 新托福阅读备考缺口各题型失分点.docx
- 新托福阅读真题详解-Variations in the Climate.docx
- 新托福阅读核心词汇【阅读满分冲刺】.docx
- 新托福高分120系列之听力文本下载.docx
- 新概念1lesson61-62课件.ppt
- 新概念三册Lesson44备课笔记.docx
- 新概念英语第一册单词练习英语译汉语.doc
- 人工智能技术助力初中跨学科教学,探究学生学习兴趣提升的路径与策略教学研究课题报告.docx
- 幼儿园主题活动中的社会交往能力培养与幼儿认知发展关系研究教学研究课题报告.docx
- 基于移动学习的数字教育资源轻量化设计在初中英语教学中的应用教学研究课题报告.docx
- 《基于跨文化传播的中国传统音乐艺术的国际传播策略研究》教学研究课题报告.docx
- 2025年人工智能伦理行业标准制定策略与案例分析.docx
- 《初中语文群文阅读教学中的教师评价体系构建与应用》教学研究课题报告.docx
- 人工智能教育平台移动应用界面动态设计在高中英语教学中的应用研究教学研究课题报告.docx
- 初中音乐实验教学案例编写规范研究——人工智能教育资源开发视角教学研究课题报告.docx
- 肿瘤靶向药物载体在肝癌治疗中的应用与疗效观察教学研究课题报告.docx
- 《电影院电影宣传渠道优化对观众观影频率的促进作用》教学研究课题报告.docx
文档评论(0)