用C#求出四位水仙花数是一个四位数,其各位数字的4次方等于该数本身,求所有四位水仙花数

2025-04-07 23:38:13
推荐回答(2个)
回答1:

private void shuixianhua()
{
int sum,temp;
for(int i=1000;i<=9999;i++)
{
sum=0;
temp=i;
while(temp>0)
{
sum+=(temp%10)*(temp%10)*(temp%10)*(temp%10);
temp/=10;
}
if(sum==i)
printf("%d\n",i);
}
}

回答2:

static void Main(string[] args)
{
Console.WriteLine("请输入任意的一个大于等于三位数的正整数:");
ulong num = ulong.Parse(Console.ReadLine());
//计算位数
int count=3;
//根据位数区间计算位数
for (ulong i = 1000 ; num >= i ; i *= 10)
{ count++; }
ulong tmp = num;
ulong sum = 0;
while (tmp != 0)
{
sum += (ulong)Math.Pow(tmp % 10, count);
tmp /= 10;
}
Console.WriteLine("{0}{1}水仙花数", num, num == sum ? "是" : "不是");
Console.ReadKey();