求用C#代码用集合实现1到30的阶乘,不能用循环,因为用循环到15位的时候就差不多会卡死。求代码!
发布网友
发布时间:2022-05-07 01:19
我来回答
共4个回答
热心网友
时间:2023-10-10 15:20
static void Main(string[] args)
{
long a=1;
for (int b = 1; b <= 30; b++)
{
a = a * b;
}
Console.WriteLine(a);
这是我用循环编的,结果为-876457898847253504.我就纳闷了为什么是负数。申明我还是学生,求交流。
热心网友
时间:2023-10-10 15:21
不会卡吧 只不过用int类型存储数据就会出错 用double类型试试
double t = 1;
for (int i = 1; i < 31; i++)
{
t = i * t;
}
Console.WriteLine(t);
热心网友
时间:2023-10-10 15:21
private static int func(int x)
{
if (x != 1 &&x!=0)
x *= func(x - 1);
return x;
}
热心网友
时间:2023-10-10 15:22
对,这个与C#数据类型有关。