资源描述:
《水仙花数算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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