gpt4 book ai didi

c++ - 阶乘 - 数组 - C++

转载 作者:行者123 更新时间:2023-11-28 02:47:43 25 4
gpt4 key购买 nike

问题是计算一个数的阶乘。我已经调试了我的代码,它适用于任何输入并为所有给定的测试用例生成正确 输出。但是,我仍然在 SPOJ 上得到错误的答案。

问题:

一个整数t,1<=t<=100,表示测试用例的数量,后面是t行,每行包含一个整数n,1<=n<=100。

任何见解都会有所帮助。我是否遗漏了一些关键的测试用例?

我的代码:

#include <iostream>
using namespace std;
int main()
{

long T;
cin>>T;
while(T--)
{
long long N;

long long index, count;
cin>>N;
long long a[300];
long long i=1;
a[0]=1; count=1;
while(i<=N)
{

long long z=0;
long long k; long long x;
long long j=i;
long long temp=0; long long current=0;
for(k=0; k<count;k++)
{
x=(a[k]*j)+temp;
a[k]=x%10;
temp=x/10;
}
if(temp>0)
while(temp>0)
{
a[k]=temp;
temp=temp/10;
k++;
count++;
}


i++;
}


for(long long g=count-1; g>=0; g--)
cout<<a[g];
cout<<"\n";

}
return 0;
}

最佳答案

这一行:

a[k]=temp;

应该是:

a[k]=temp % 10;

关于c++ - 阶乘 - 数组 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23874020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com