Contact și feedback

Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.


Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.


Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.

Shortcuturi

Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.

Generale

Meniu shortcuturi?
Căutare probleme sau utilizatori/
Navigare printre rezultatele căutării↑, ↓
Meniu de contact și feedbackCTRL + Shift + F
Ieșire din meniuriEsc

Editor probleme

Setări editorCTRL + Shift + S
Schimbare stil editorCTRL + Shift + E
Șabloane de codCTRL + Shift + 1/2/3
Golire editorCTRL + Shift + 4

Factorialul unui număr în C++

Factorialul unui număr este foarte util, ajutându-ne mult la probleme de numărare (putem să determinăm permutări, aranjamente, combinări și altele), dar și în alte domenii.

Definiția factorialului unui număr

Factorialul unui număr se definește astfel:

n! = 1 * 2 * … * n

Acest număr, după cum se poate intui, crește destul de repede în raport cu n. Ca idee, 13! nici măcar nu încape în tipul de date int, iar 1000! are peste 2500 de cifre.

De asemenea, 0! este egal cu 1 — acest lucru se poate demonstra rapid.

Aflarea factorialului unui număr în C++

Următorul cod află factorialul unui număr în C++, folosind long long.

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;
    long long fact = 1;
    for(int i = 1; i <= n; i++) {
        fact = fact * i;
    }
    cout << n << "! este egal cu " << fact;
    return 0;
}

Probleme propuse

# Problemă Dificultate
65. Factorial Ușoară (2 )

Obține medalia mult dorită. Devino As la olimpiadă.

Curs complet de olimpiadă, pregătit de olimpici de la Oxford și TU Delft.

Cuprinsul lecției

Se încarcă…

Citește și

Mediana unui șir de valori în C++Cel mai semnificativ bit în C++Numărul aranjamentelor în C++ (formula aranjamentelor)Pointer în C++. Variabile de tipul char * (char steluță)Tipul struct în C++. Ce sunt structurile de date neomogeneVerificare dacă un număr este palindrom în C++Afișarea elementelor unui vector recursiv în C++Cel mai frecvent element dintr-un șir în C++Maximul și minimul a două valori în C++Șiruri de caractere în C++. Tot ce trebuie să știiOglinditul unui număr în C++Cum să calculezi instant 2 la puterea N în C++Operații cu numere mari în C++ - Toate funcțiile explicateTransformarea unui număr din baza 10 în baza 2 în C++Suma divizorilor unui număr în C++Valoarea absolută (modulul) unui număr în C++Ce este o variabilă unsigned în C++?Instrucțiunea while (structuri repetitive)Cifra de control a unui numărVerifică dacă un număr aparține șirului Fibonacci în C++Aflarea sumei primelor N sume GaussCe este o funcție void în C++?Aplicații cu ciurul lui Eratostene în C++: suma divizorilor, numărul divizorilorFuncții în C++. Ce sunt subprogrameleVerifică dacă un caracter este literă în C++Copiuțe: Cifrele unui numărCe înseamnă variabilă globală și locală în C++?Verifică dacă un număr dat este o putere de 2 în C++Tipuri de date în C++: numere întregi, reale, caractere și alteleVerifică dacă trei puncte sunt coliniare C++Verificare număr prim în C++ (Clasa a IX-a)Șirul lui Fibonacci în C++Numărul permutărilor în C++ (formula permutărilor)CMMMC a două numere în C++ (cel mai mic multiplu comun)Vectorii în C++: declarare și parcurgereNumărul minim de peroane pentru o gară în C++Verifică dacă un bit de pe o anumită poziție este 1 sau 0 în C++CMMDC recursiv a două numere naturale în C++Verifică dacă o literă este vocală în C++Inversarea unui șir de caractere în C++Oglinditul recursiv al unui număr în C++Matrice pătratice în C++. Diagonala principală și secundarăCe înseamnă endl în C++?Maximul și minimul a trei valori în C++Cel mai mic/mare divizor prim al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Indicatorul lui Euler în C++Suma divizorilor numerelor de la 1 la N (Folosind ciurul lui Eratostene)Comentarii în C++Instrucțiunea break (structuri repetitive)Cum să afișezi partea întreagă a unui număr real în C++Matrice în C++. Declararea și parcurgerea tablourilor bidimensionaleMaximul și minimul unui vector în C++Cifra maximă a unui număr recursiv în C++Verificare dacă șir de caractere este palindrom în C++Maximul și minimul a n valori în C++Cum să citești și să afișezi în fișiere în C++Do while vs while în C++ - Care e diferența?Căutare binară în C++Cel mai puțin semnificativ bit în C++Numărul de cifre ale factorialului unui numărBordarea unei matrice în C++Funcții predefinite în C++ (matematice, șiruri de caractere)Instrucțiunea do while (structuri repetitive)Al N-lea termen dintr-o progresie aritmeticăPrima cifră a unui număr în C++Materia pentru olimpiada de informatică - tot ce trebuie să știiGenerarea șirului Fibonacci generalizat în C++Ciurul lui Eratostene în C++Suma 1 + 2 + 3 + ... + N în C++Transformarea unei litere mari în literă mică în C++Verifică dacă un număr este par sau impar fără modulo în C++Interschimbarea a două variabile în C++ (3 metode)Indicatorul lui Euler al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Cifra maximă și minimă a unui număr în C++Ridicarea la putere în timp logaritmic în C++. Exponențiere rapidăAria unui triunghi folosind coordonatele acestora în C++Numărul de divizori al unui număr în C++Verifică dacă un caracter este cifră în C++Cel mai mare divizor comun (CMMDC) a două numere în C++Al N-lea termen Fibonacci în C++De ce cer unele probleme răspunsul modulo 666013 sau modulo 1.000.000.007?Combinatorică în C++: permutări, aranjamente, combinări și alteleSuma elementelor unui vector recursiv în C++Aria și circumferința unui cerc în C++Radicalul unui număr în C++ (rădăcina pătrată)Cifrele unui număr. Prelucrarea cifrelor unui număr în C++Numărul de divizori al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Transformarea unui număr din baza 2 în baza 10 în C++Sortare crescătoare recursivă în C++ - Merge sort și Bubble sortCel mai mic număr cu suma cifrelor N în C++Verifică dacă o literă este mică sau mare în C++Matrice Fibonacci - al n-lea termen Fibonacci în timp logaritmicInstrucțiunea de decizie în C++: if, else, switch, caseCea mai lungă secvență de elemente crescătoare în C++Structuri repetitive (while, do while, for, etc)Complexitatea unui algoritm (timp și spațiu) în C++Transformarea unei litere mici în literă mare în C++Vectorii în C++: citire și afișareCalculul combinărilor de n luate câte k (nCk) în C++Divide et Impera (metodă de programare C++)Citește un șir de caractere cu spații în C++Numărul de apariții al unui număr într-un vector în C++Rădăcina cubică a unui număr în C++ (cube root)Numere triunghiulare. Verificarea unui număr triunghiularNumărul de divizori primi ai unui număr în C++Codul ASCII (tabel complet)Inversarea unui vector în C++Factorialul unui număr în C++Tutorial instalare CodeBlocks (ușor) - Introducere în informatică C++Află secolul unui an citit de la tastatură în C++Vectori de frecvență (de apariții) în C++Instrucțiunea continue (structuri repetitive)Afișarea divizorilor primi ai unui număr în C++Citirea și afișarea matricelor în C++Verificarea unui an bisect în C++Recursivitate în C++Algoritm recursiv pentru căutare binară (clasa a X-a)Instrucțiunea for (structuri repetitive)Al N-lea termen dintr-o progresie geometricăCâte numere naturale sunt într-un interval dat? (C++)Interclasarea a doi vectori în C++Suma numerelor naturale dintr-un interval dat în C++Numărul combinărilor în C++ (formula combinărilor)Distanța dintre două puncte în C++

© Drepturi de autor

Echipa InfoAs își rezervă drepturile de autor pentru conținutul acestei pagini. Copierea conținutului fără acordul scris expres al InfoAs reprezintă o încălcare a Legii 8/1996 și va fi tratată ca atare.

Trimite lecția

Toată lecția

Doar videoclipul pe YouTube

Informatica devine ușoară cu InfoAs

Intră în cont