#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 | #49737215 | Utilizator | |
Fișier | factori.cpp | Dimensiune | 449 B |
Data încărcării | 13 Martie 2024, 15:59 | Scor / rezultat | Eroare de compilare |
factori.cpp:4:25: error: no matching function for call to 'std::basic_istream<char>::basic_istream(const char [11])' istream fin("factori.in") ^ factori.cpp:4:25: note: candidates are: In file included from /usr/include/c++/4.8/sstream:38:0, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from factori.cpp:1: /usr/include/c++/4.8/istream:606:7: note: std::basic_istream<_CharT, _Traits>::basic_istream() [with _CharT = char; _Traits = std::char_traits<char>] basic_istream() ^ /usr/include/c++/4.8/istream:606:7: note: candidate expects 0 arguments, 1 provided /usr/include/c++/4.8/istream:93:7: note: std::basic_istream<_CharT, _Traits>::basic_istream(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>] basic_istream(__streambuf_type* __sb) ^ /usr/include/c++/4.8/istream:93:7: note: no known conversion for argument 1 from 'const char [11]' to 'std::basic_istream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}' factori.cpp:5:1: error: expected ',' or ';' before 'ofstream' ofstream fout("factori.out") ^ factori.cpp: In function 'int main()': factori.cpp:8:7: error: 'n' was not declared in this scope {cin>>n; ^ factori.cpp:10:1: error: 'fact' was not declared in this scope fact=1; ^ factori.cpp:12:1: error: 'd' was not declared in this scope d=2; ^ factori.cpp:14:8: error: 'i' was not declared in this scope for(i=1;i<=n;i++) ^ factori.cpp:21:9: error: 'p' was not declared in this scope p=0; ^
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ă.