使用CSharp中的迭代器实现从键盘输出的数以内所有的水仙花数
时间: 2024-05-21 07:13:12 浏览: 80
好的,这是一个好问题。以下是C#的代码样例实现:
using System;
using System.Collections;
class Program
{
static void Main(string[] args)
{
Console.Write("请输入一个整数:");
int limit = int.Parse(Console.ReadLine());
foreach (int num in GetNarcissisticNumbers(limit))
{
Console.WriteLine(num);
}
}
static IEnumerable GetNarcissisticNumbers(int limit)
{
for (int i = 0; i < limit; i++)
{
int sum = 0;
int num = i;
while (num > 0)
{
int digit = num % 10;
sum += digit * digit * digit;
num /= 10;
}
if (sum == i)
{
yield return i;
}
}
}
}
希望这个代码能够帮助你!
阅读全文