题目描述
春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。
输入
输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。
输出
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于 m,并且小于等于n,如果有多个,则要求从小到大排列在一行内输出,之间用一个空格隔开; 如果给定的范围内不存在水仙花数,则输出no; 每个测试实例的输出占一行。
样例输入
100 120 300 380
样例输出
no 370 371
using System;namespace ConsoleApp6
{class Program{static void Main(string[] args){string s;while (true){s = Console.ReadLine();if(s==null||s.Length<=0){break;}string[] str = s.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);int a = Int32.Parse(str[0]);int b = Int32.Parse(str[1]);int[] arr = new int[120];int t = 0;for (int i = a; i <= b; i++){string s1 = i.ToString();int len = s1.Length;int sum = 0;for (int j = 0; j < len; j++){int temp = (int)s1[j] - 48;sum += temp * temp * temp;}if (sum == i){arr[t] = sum;t++;}}if (t == 0){Console.WriteLine("no");}else{int i = 0;Console.Write(arr[i].ToString());i++;for (; i < t; i++){Console.Write(" " + arr[i].ToString());}Console.Write("\n");}s = null;}}}
}