Tin học Tổng giai thừa

Nguyễn Trần Phát

Học sinh mới
Thành viên
8 Tháng chín 2020
111
45
11
16
Nghệ An
THCS Đặng Thai Mai
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Cho tổng S(n) = 1! = 2! + ... + n!
Yêu cầu: Nhập vào số nguyên dương n(0<n<=106). In ra tổng S(n). Kết quả có thể rất lớn nên sẽ chia lấy dư cho 109+7.
Dữ liệu: Một dòng ghi số nguyên dương n duy nhất.
Kết quả: Ghi ra S(n) tương ứng chia lấy dư cho 109+7.
(Làm bằng C++)
 

System32

Học sinh chăm học
Thành viên
25 Tháng chín 2018
343
348
76
Hà Nội
THPT Marie Curie
Cho tổng S(n) = 1! = 2! + ... + n!
Yêu cầu: Nhập vào số nguyên dương n(0<n<=106). In ra tổng S(n). Kết quả có thể rất lớn nên sẽ chia lấy dư cho 109+7.
Dữ liệu: Một dòng ghi số nguyên dương n duy nhất.
Kết quả: Ghi ra S(n) tương ứng chia lấy dư cho 109+7.
(Làm bằng C++)
Mã:
#include <iostream>
using namespace std;


unsigned int factorial(unsigned int n)
{
    unsigned int f = 1;
    for (unsigned int i = 1; i <= n; ++i)
        f *= i;
    return f;
}

int main()
{
    long long int S = 0;
    long int n;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        S = (S + factorial(i)) % 1000000007;
    }
    cout << S;
    return 0;
}
 

Nguyễn Trần Phát

Học sinh mới
Thành viên
8 Tháng chín 2020
111
45
11
16
Nghệ An
THCS Đặng Thai Mai
Mã:
#include <iostream>
using namespace std;


unsigned int factorial(unsigned int n)
{
    unsigned int f = 1;
    for (unsigned int i = 1; i <= n; ++i)
        f *= i;
    return f;
}

int main()
{
    long long int S = 0;
    long int n;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        S = (S + factorial(i)) % 1000000007;
    }
    cout << S;
    return 0;
}
bài này sai a ạ
 
Top Bottom