Решение задачи Факториал с Acmp

Без пояснения   Просмотров: 82


Требуется вычислить факториал целого числа N. Факториал обозначают как N! и вычисляют по формуле:

Код

a = int(input())
b = 1
for i in range (1, a+1):
    b = b * i
print(b)

         

Администратор Photo Автор: Администратор


Код

#include <bits/stdc++.h>
#pragma GCC optimize ("Ofast")
using namespace std;
 
string fact(string s , int power)
{
    string res;
    int temp = 0;
    for (int i = s.size() - 1;i >= 0;--i)
    {
        int temp2 = (s[i] - 48) * power + temp;
        temp = 0;
        if (temp2 > 9)
            temp = temp2 / 10;
        res.insert(0 , 1, temp2 % 10 + 48);
    }
    if (temp)
    {
        while(temp)
        {
            res.insert(0 , 1, temp % 10 + 48);
            temp /= 10;
        }
    }
    return res;
}
 
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(nullptr);
    string s = "1";
    int n;
    cin >> n;
    for (auto i = 1;i <= n;++i)
        s = fact(s , i);
    cout << s << "\n";
    return 0;
}

         

Sadijon Photo Автор: Sadijon



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться