【发布时间】:2019-07-13 12:44:41
【问题描述】:
我想创建一个控制奇怪数字的布尔值,但是当我用 long.Parse 方法填充“for”循环时,编译器给了我 System.Range.get_Start 错误。我怎样才能摆脱它?
static void Main(string[] args)
{
//IsCuriousNum(300);
Console.ReadKey();
}
static bool IsCuriousNum(long num)
{
bool isCuriousNum = false;
long sum = 0;
string numS = num.ToString();
for (long i = 0; i < numS.Length; i++)
{
char a = (char)long.Parse(numS[i]);
sum += Factorial(a);
}
if (num == sum)
{
isCuriousNum = true;
}
Console.WriteLine(sum.ToString());
return isCuriousNum;
}
static long Factorial(long num)
{
long factorial = 1;
for (long i = 1; i <= num; i++) factorial *= i;
return factorial;
}
【问题讨论】:
-
你为什么要投到
char? -
我不知道我只是想从数字中取一位数字,所以我认为这可能更有效。但是没有,我尝试了另一种方法并没有出现这个问题:(
标签: c# compiler-errors system