Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Ta không thể tính `1!+2!+...+n!` rồi chia lấy dư cho `10^9+7` được. Thay vào đó ta chia lấy dư cho 10^9+7` trong khi tính toán.
$\\$
#include <bits/stdc++.h>
#define ll long long
const ll mod=1e9+7;
using namespace std;
ll sumgiaithua(ll n)
{
ll s=1,tong=0;
for(int i=1;i<=n;i++)
{
s=(s*i)%mod;
tong+=s%mod;
}
return tong;
}
ll n;
int main()
{
cin>>n;
ll s=sumgiaithua(n);
cout<<s;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
python
n = int(input())
MOD = 10**9 + 7
factorial = 1
result = 0
for i in range(1, n + 1):
factorial = (factorial * i) % MOD
result = (result + factorial) % MOD
print(result)
Hãy giúp mọi người biết câu trả lời này thế nào?
Sự kiện