超出时间限制[c++]:每个数字阶乘的最后一位 我的C++代码中的时间限制超过了错误。 这是一个简单的算法,输出用户给出的每个数字阶乘的最后一位
例1: 输入:4,输出:4,解释:4!=4 * 3 * 2 * 1. = 2424的最后一位是4 例2: 输入:5,输出:0,解释:5!=5 * 4 * 3 * 2 * 1. = 120120的最后一位是0 代码如下:超出时间限制[c++]:每个数字阶乘的最后一位 我的C++代码中的时间限制超过了错误。 这是一个简单的算法,输出用户给出的每个数字阶乘的最后一位,c++,C++,例1: 输入:4,输出:4,解释:4!=4 * 3 * 2 * 1. = 2424的最后一位是4 例2: 输入:5,输出:0,解释:5!=5 * 4 * 3 * 2 * 1. = 120120的最后一位是0 代码如下: #include <iostream> using namespace std; int Fact(int n){ int p=1; for(int i=1;i<=n;i++){ p = p * i; }
#include <iostream>
using namespace std;
int Fact(int n){
int p=1;
for(int i=1;i<=n;i++){
p = p * i;
}
return p;
}
int LastDigit(int n){
return n % 10;
}
int main()
{
int t,n;
cin >> t;
int T[t];
for(int i=0;i<t;i++){
cin >> n;
T[i]=LastDigit(Fact(n));
}
for(int i=0;i<t;i++){
cout <<T[i]<<endl;
}
cout << Fact(10);
}
谢谢你给我一个详细的答复。这就是你需要的吗
包括
包括
智力因素
{
如果n>4
{
返回0;
}
其他的
{
长整数=1;
对于int i=1;i>t;
std::向量Tt;
对于int i=0;i