C#编程水仙花数
答案:1 悬赏:60 手机版
解决时间 2021-04-02 05:54
- 提问者网友:凉末
- 2021-04-01 07:36
C#编程水仙花数
最佳答案
- 五星知识达人网友:一把行者刀
- 2021-04-01 09:09
闲来无事做了个。可以查找任意位数的水仙花数。
虽然使用了缓存存储自然数的幂,但运算到7位以上依旧非常慢。
public static int[] 整数转数组(int i) {
string s = i.ToString();
var re = new int[s.Length];
for (int k = 0; k < s.Length; k++) {
re[k] = int.Parse(s.Substring(k,1));
}
return re;
}
static void Main(string[] args) {
int n1 = 3; //开始位数
int n2 = 5; //结束位数
SortedList> 结果 = new SortedList>();
//遍历开始位数 ~ 结束位数
for (int n = n1; n <= n2; n++) {
//创建n位数的结果列表
var 列表 = new List();
结果.Add(n, 列表);
Console.WriteLine(n + "位数:");
//创建n位数幂的缓存1 ~ 9数字的n次方整数
int[] nx = new int[10];
for (int k = 0; k <= 9; k++) {
nx[k] = (int)Math.Pow(k, n);
}
//遍历100 ~ 999,更多位数类推
int start = (int)Math.Pow(10, n - 1); // 百位数开始值 100
for (int i = start; i < start * 10; i++) {
//分解i为数组
var arr = 整数转数组(i);
//求各位数的幂的和
int sum = 0;
for (int j = 0; j < arr.Length; j++) {
sum += nx[arr[j]];
}
//判断
if (sum == i) { 列表.Add(i); Console.WriteLine(i); }
}
}
Console.WriteLine("{0} ~ {1} 位数的水仙花数查找完毕。", n1, n2);
Console.ReadKey();
}如满意,请采纳,谢谢。
追问能给一下流程图吗
虽然使用了缓存存储自然数的幂,但运算到7位以上依旧非常慢。
public static int[] 整数转数组(int i) {
string s = i.ToString();
var re = new int[s.Length];
for (int k = 0; k < s.Length; k++) {
re[k] = int.Parse(s.Substring(k,1));
}
return re;
}
static void Main(string[] args) {
int n1 = 3; //开始位数
int n2 = 5; //结束位数
SortedList
//遍历开始位数 ~ 结束位数
for (int n = n1; n <= n2; n++) {
//创建n位数的结果列表
var 列表 = new List
结果.Add(n, 列表);
Console.WriteLine(n + "位数:");
//创建n位数幂的缓存1 ~ 9数字的n次方整数
int[] nx = new int[10];
for (int k = 0; k <= 9; k++) {
nx[k] = (int)Math.Pow(k, n);
}
//遍历100 ~ 999,更多位数类推
int start = (int)Math.Pow(10, n - 1); // 百位数开始值 100
for (int i = start; i < start * 10; i++) {
//分解i为数组
var arr = 整数转数组(i);
//求各位数的幂的和
int sum = 0;
for (int j = 0; j < arr.Length; j++) {
sum += nx[arr[j]];
}
//判断
if (sum == i) { 列表.Add(i); Console.WriteLine(i); }
}
}
Console.WriteLine("{0} ~ {1} 位数的水仙花数查找完毕。", n1, n2);
Console.ReadKey();
}如满意,请采纳,谢谢。
追问能给一下流程图吗
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯