#2175
Factori
Gigel a aflat la matematică definiţia factorialului unui număr natural nenul n
. Acesta este produsul tuturor numerelor naturale începând cu 1
şi terminând cu numărul respectiv şi se notează cu n!
. Astfel, factorialul numărului natural 6
este 6!=1*2*3*4*5*6
şi este egal cu 720
. Factorialele numerelor naturale cresc însă extrem de repede. De exemplu, 7!=5040
în timp ce 10!=3628800
.
Fiind un bun matematician, Gigel a imaginat o altă metodă de a indica factorialul unui număr. Astfel, el ştie că un număr natural nenul se poate descompune în factori primi. De exemplu 720
poate fi scris ca 2
4
*3
2
*5
1
. Gigel codifică descompunerea în factori primi astfel: 4 2 1
însemnând faptul că în descompunerea lui 720
în factori primi apare factorul 2
de 4
ori, factorul 3
apare de două ori şi factorul 5
apare o dată. Cu alte cuvinte, Gigel indică pentru fiecare număr prim ≤ n
puterea la care acesta apare în descompunerea în factori primi a lui n!
.
Scrieţi un program care să citească o secvenţă de numere naturale nenule şi care să afişeze în modul descris în enunţ factorialele numerelor citite.
OJI 2009, Clasa a VI-a
Problema | Factori | Operații I/O |
factori.in /factori.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
Id soluție | #55069785 | Utilizator | |
Fișier | factori.cpp | Dimensiune | 974 B |
Data încărcării | 20 Decembrie 2024, 11:45 | Scor / rezultat | Eroare de compilare |
factori.cpp:8:21: warning: missing terminating ' character [enabled by default] const int MAX_V = 60'000; ^ factori.cpp:8:1: error: missing terminating ' character const int MAX_V = 60'000; ^ factori.cpp:10:1: error: expected ',' or ';' before 'bitset' bitset<MAX_V + 1> ciur; ^ factori.cpp: In function 'void Precalculare()': factori.cpp:16:2: error: 'ciur' was not declared in this scope ciur[0] = ciur[1] = 1; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Factori face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.