C#——水仙花数

目录

一、题目解析:

(一)代码部分

二、代码解释部分


一、题目解析:

水仙花数是一个很经典的编程题,意思呢就是从100到999之间找到一个数,其个位的三次幂,十位的三次幂,百位的三次幂之和为其本身。

(一)代码部分

前边咱也不墨迹直接上代码后边再说:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 水仙花数
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int i;
            int b;//百位
            int s;//十位
            int g;//个位
            int sum=0;
            for (i = 100; i <= 999; i++)//用for循环依次遍历100到999中的所有数 
            {
                b = i / 100;//获取百位数
                s = i % 100/10;//获取十位数
                g =i % 10;//获取个位数
                sum = b * b * b + s * s * s + g * g * g;
                if (sum == i) {         //判断水鲜花数
                    Console.WriteLine("水仙花数有:"+ i);
                }
            }
            Console.ReadLine();
        }
    }
}

二、代码解释部分

(一)概括

这个水仙花数,名字很好听但是不好做,不过没有关系,咱们接下来就一步步解释

首先我们要知道我们第一步是需要定义变量的,上边呢已经可以清晰的看到我们定义了五个变量

i用于for循环遍历100到999之间的数;

b,s,g分别表示百位、十位、个位;

sum则用来存储三次幂之和,用来与i作比较;

(二)for循环部分

b=i/100;      //可以获取到一个数的百位部分

例如:195/100整数部分为1,就可以把百位取出赋值给b

s=i%100/10        //可以获取到一个数的十位部分

例如:195%100余数部分为95,再将95/10整数部分为9,将9赋值给s,十位就获取到了

g=i%10            //可以获取到一个数的个位部分

例如:195%10余数部分为5,个位部分被获取,将5赋值给g

(三)if语句部分

用于判断三个数的三次幂是否等于这个数本身,符合条件就输出。

水仙花数的所有都在这里啦,说难也不难,如果大家有更方便的解法不妨一起分享一下,如果我写的有什么问题也欢迎来指点一下,如有侵权的问题,请和我说,我将立即撤回进行修正。

你可能感兴趣的:(c#,c#)