C#实现判断一个数是否为水仙花数的算法及完整源码

132 篇文章 ¥59.90 ¥99.00
本文介绍了如何使用 C# 编写判断一个数是否为水仙花数的算法,详细解释了代码逻辑,并提供了完整的源码示例。水仙花数是指一个 n 位数,其每位数字的 n 次幂之和等于它本身。通过定义 IsNarcissisticNumber 方法,利用循环和数学运算,可以有效判断输入的数是否符合水仙花数的条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C#实现判断一个数是否为水仙花数的算法及完整源码

水仙花数,是指一个 n 位(n≥3)的数,它的每个位上的数字的 n 次幂之和等于它本身。例如:153 = 1^3 + 5^3 + 3^3。

在 C# 中,我们可以通过以下代码实现判断一个数是否为水仙花数:

static bool IsNarcissisticNumber(int num)
{
    int sum = 0;
    int temp = num;
    int n = num.ToString().Length;
    
    while(temp != 0)
    {
        sum += (int)Math.Pow(temp % 10, n);
        temp /= 10;
    }
    
    return sum == num;
}

首先,我们定义一个 bool 类型的方法 IsNarcissisticNumber,该方法接收一个 int 类型的参数 num,表示要判断的数。

接着,我们定义三个 int 类型的变量 sum、temp、n,分别表示位数幂和、临时变量、数的位数。

我们通过调用 num 的 ToString() 方法获取该数的位数,并将结果赋给 n 变量。

然后,我们进入 while 循环,判断 temp 是否等于 0。如果不为 0,则执行循环体。

循环体中,我们通过 temp % 10 获取 temp 的最后一位数字,并调用 Math.Pow 方法计算该数字的 n 次幂,将结果加到 sum 变量中。

接着,我们将 te

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值