-
-
[转帖][原创]c#的水仙花数
-
发表于: 2017-3-15 22:01 2082
-
第一种方法: using System; class ShuiXianHua { static void Main() { for(int i=1;i<10;i++) for(int j=0;j<10;j++) for(int k=0;k<10;k++) if(i*100+j*10+k==Math.Pow(i,3)+Math.Pow(j,3)+Math.Pow(k,3)) Console.Write("{0,5}",i*100+j*10+k); Console.WriteLine(); } } 第二种方法: using System; class ShuiXianHua { static void Main() { int i,j,k; for(int num = 100;num<1000;num++) { i = num/100; //百位数字 j = num%100/10; //十位数字 k = num%10; //个位数字 if(i*i*i+j*j*j+k*k*k == num) Console.Write("{0,5}",num); } Console.WriteLine(); } } 第三种方法: using System; class ShuiXianHua { public bool IsShuiXianHua(int num) //定义一个函数判断一个数是否为水仙花数 { bool mark = false; int i,j,k; i = num/100; //百位数字 j = num%100/10; //十位数字 k = num%10; //个位数字 if(i*i*i+j*j*j+k*k*k == num) mark = true; else mark = false; return mark; } } class Test { static void Main() { ShuiXianHua sxh = new ShuiXianHua(); for(int n = 100;n < 1000; n++) { if(sxh.IsShuiXianHua(n)) Console.Write("{0,5}",n); } Console.WriteLine(); } } 第四种方法: using System; class ShuiXianHua { static void Main() { int i,j,k; Console.WriteLine("水仙花数有:"); for(int n=100;n<1000;n++) { i = n/100; //获得百位上的数字 j = (n -i*100)/10; //获得十位上的数字 k = n - i*100 - j*10; //获得个位上的数字 if(Math.Pow(i,3)+Math.Pow(j,3)+Math.Pow(k,3)==n) Console.Write("{0,5}",n); } Console.WriteLine(); } } 第五种方法: using System; class ShuiXianHua { static void Main() { string s; int i,j,k; Console.WriteLine("水仙花数有:"); for(int n=100;n<1000;n++) { s = n.ToString(); //将数字n转化为字符串 i = s[0] - '0'; //获得百位上的数字 j = s[1] - '0'; //获得十位上的数字 k = s[2] - '0'; //获得个位上的数字 if(i*i*i + j*j*j + k*k*k == n) Console.Write("{0,5}",n); } Console.WriteLine(); } } by Skyler |
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
- [原创]c#之构造函数 2652
- [原创]c#之继承 1948
- [转帖]c#数组 2003
- [原创]C#程序的基本结构-----顺序结构 1965
- [转帖][原创]c#的水仙花数 2083
看原图
赞赏
雪币:
留言: