目录
一、题目解析:
水仙花数是一个很经典的编程题,意思呢就是从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语句部分
用于判断三个数的三次幂是否等于这个数本身,符合条件就输出。
水仙花数的所有都在这里啦,说难也不难,如果大家有更方便的解法不妨一起分享一下,如果我写的有什么问题也欢迎来指点一下,如有侵权的问题,请和我说,我将立即撤回进行修正。