下面是一个使用C#编写的解决方案:

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("请输入两个整数m和n:");
        int m = int.Parse(Console.ReadLine());
        int n = int.Parse(Console.ReadLine());
        
        bool hasNarcissisticNumber = false;
        for (int i = m; i <= n; i++)
        {
            if (IsNarcissisticNumber(i))
            {
                Console.Write(i + " ");
                hasNarcissisticNumber = true;
            }
        }
        
        if (!hasNarcissisticNumber)
        {
            Console.WriteLine("no");
        }
    }
    
    static bool IsNarcissisticNumber(int num)
    {
        int sum = 0;
        int originalNum = num;
        
        while (num > 0)
        {
            int digit = num % 10;
            sum += digit * digit * digit;
            num /= 10;
        }
        
        return sum == originalNum;
    }
}

解决方案的思路如下:

  1. 首先通过控制台输入获取m和n的值。
  2. 使用一个循环从m到n遍历每个数字。
  3. 对于每个数字,使用IsNarcissisticNumber函数判断是否是水仙花数。
  4. 如果是水仙花数,则输出该数字,并将hasNarcissisticNumber标记为true。
  5. 如果循环结束后hasNarcissisticNumber为false,表示没有找到水仙花数,输出"no"
c#数学上有个水仙花数他是这样定义的: 水仙花数是指一个三位数它的各位数字的立方和等于其本身比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。创建一个应用程序在控制台输入两个值一个输入m一个输入n输出数据如果有多个数据用空格隔开。 示例1 输入:120 300输出:153解释:在这个范围内只有153符合 示例2 输入:100 130输出:no解释:在这个范围内没有水

原文地址: http://www.cveoy.top/t/topic/hT7t 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录