水仙花数算法

水仙花数算法

ID:20552108

大小:38.50 KB

页数:3页

时间:2018-10-13

水仙花数算法_第1页
水仙花数算法_第2页
水仙花数算法_第3页
资源描述:

《水仙花数算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、用C#编程,写出一个求水仙花数的算法!1、水仙花数是指一个n(n>=3)位数,每一位数字的n次幂的和正好等于这个数本身。例如,153是一水仙花数,因为153=1的3次方+5的3次方+3的3次方.usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceNarcissusNumber{classProgram{publicstaticvoidMain(string[]args){inta;strings;do{Console.Write

2、Line("3----找出三位数所有的水仙花数!");Console.WriteLine("4----找出四位数所有的水仙花数!");Console.WriteLine("5----找出五位数所有的水仙花数!");Console.WriteLine("34---你选择找出三、四位数的水仙花数!");Console.WriteLine("45---你选择找出四、五位数的水仙花数!");Console.WriteLine("35---你选择找出三、四、五位数的水仙花数!");Console.WriteLine("0----退出");Console.Wr

3、ite("请选择操作(0,3,4,5,34,45,35):");s=Console.ReadLine();a=int.Parse(s);switch(a){case0:Console.WriteLine("你选择退出!");break;case3:Console.WriteLine("你选择找出三位数的水仙花数!");Funtion(a);break;case4:Console.WriteLine("你选择找出四位数的水仙花数!");Funtion(a);break;case5:Console.WriteLine("你选择找出五位数的水仙花数!")

4、;Funtion(a);break;case34:Console.WriteLine("你选择找出三、四位数的水仙花数!");Funtion(a);break;case45:Console.WriteLine("你选择找出四、五位数的水仙花数!");Funtion(a);break;case35:Console.WriteLine("你选择找出三、四、五位数的水仙花数!");Funtion(a);break;default:Console.WriteLine("你的输入是不合理的!请重先选择!");break;}Console.WriteLine(

5、);//Console.Clear();/*清屏*/}while(a!=0);}/*******************输出水仙花数的算法*******************************/staticintFuntion(ints){inti;intj;intk;intn;intm;intl;if(s==3)/*输出100-999的水仙花数*/{for(n=100;n<999;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==Recursion(i,s)+Recursion(j,s)+Recursion(k,

6、s))Console.WriteLine(n);}}elseif(s==4)/*输出1000-9999的水仙花数*/{for(n=1000;n<=9999;n++){i=n/1000;j=n/100-i*10;k=n/10-i*100-j*10;l=n%10;if(n==Recursion(i,s)+Recursion(j,s)+Recursion(k,s)+Recursion(l,s))Console.WriteLine(n);}}elseif(s==5)/*输出10000-99999的水仙花数*/{for(n=10000;n<=99999;n+

7、+){i=n/10000;j=n/1000-i*10;k=n/100-i*100-j*10;l=n/10-i*1000-j*100-k*10;m=n%10;if(n==Recursion(i,s)+Recursion(j,s)+Recursion(k,s)+Recursion(l,s)+Recursion(m,s))Console.WriteLine(n);}}elseif(s==34)/*输出100-9999的水仙花数*/{for(n=100;n<=9999;n++){i=n/1000;j=n/100-i*10;k=n/10-i*100-j*10

8、;l=n%10;if(i!=0&&n==Recursion(i,4)+Recursion(j,4)+Recursion(k

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。