Pagini: 1 ... 9 10 [11] 12 13   În jos
  Imprimă  
Ajutor Subiect: 006 Factorial  (Citit de 107968 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
C0Mr4d3
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 5



Vezi Profilul
« Răspunde #250 : Martie 14, 2011, 19:47:04 »

Are cineva vreo idee de ce imi da "non zero exit status." la toate testele? Programul functioneaza bine pe calculatorul meu... Cry
Memorat
chibicitiberiu
Strain
*

Karma: 3
Deconectat Deconectat

Mesaje: 49



Vezi Profilul
« Răspunde #251 : Martie 17, 2011, 11:40:26 »

Are cineva vreo idee de ce imi da "non zero exit status." la toate testele? Programul functioneaza bine pe calculatorul meu... Cry

Trebuie sa dai return 0 la sfarsitul functii int main()
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #252 : Martie 17, 2011, 11:46:13 »

El lucra in Pascal, nu cred ca asta-i problema. Cred ca nu a pus numele fisierelor bine, sau nu stiu ....
Memorat
dragangabriel
Strain


Karma: 3
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« Răspunde #253 : Aprilie 01, 2011, 20:54:04 »

Pentru cei care primesc non exit zero status cititi bine
Fisierul de intrare este FACT !!!
NU FACTORIAL !!!!!!!! ]
(*,)
Memorat
armand2000
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #254 : Aprilie 02, 2011, 18:24:45 »

PAI in exemplul 2  arata fara 0 dar in 3 este cu 0.Nu mai inteleg  Brick wall.
Memorat
ctlin04
Nu mai tace
*****

Karma: 23
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #255 : Iulie 06, 2011, 13:00:48 »

este o solutie destul de ingenioasa la aceasta problema, eu am gasit-o si am luat 100p co    0 sec!    pe orice test. SUCCES   
Memorat
Cristibalu
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #256 : Iulie 26, 2011, 10:07:30 »

 Brick wall Brick wall Brick wall poate sa-mi explice cineva dc imi iese din timp la sursa asta si iau dekt 20 pct??? scz dak am facut o gresala dar acum am trecut de la pascal la cpp si imi e putin mai greu
Cod:
#include <fstream.h>

long p,m,n,nr;

ifstream f("fact.in");
ofstream g("fact.out");

int main()
{
f>>p;
n=0;nr=0;n=0;
while(nr<p)
{
n++;
m=n;
long div=2;
while(m!=1)
{
if(m%div==0)
{
long ok=0;
for(long i=2;i<=div/2;i++)
if(div%i==0)
ok=1;
if(ok==0)
{
m=m/div;
if(div==5)
nr++;
}
}
else
div++;
}

}
if(nr==p)
if(p!=0)
g<<n;
if(nr>p)
if(p!=0)
g<<"-1";
if(p==0)
g<<"1";
return 0;
}

[editat de moderator] tag-ul "code"...
« Ultima modificare: Iulie 26, 2011, 10:40:30 de către Sima Cotizo » Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #257 : Iulie 26, 2011, 10:25:13 »

Solutia ta e ineficienta. Invata cautarea binara si apoi cauta in primele 10 pagini de la aceasta problema idei de rezolvare.
Memorat
cosminx2003
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #258 : Iulie 31, 2011, 14:00:01 »

Eu nu inteleg de ce trebuie cautare binara si nici nu prea inteleg implementarea in problema asta.
Putem sa ne bazam doar pe cateva observatii matematice : 5*2 = 10, deci numarul de zerouri are legatura cu puterile lui 5.
Deci p se poate calcula ca mai jos si mai gasim o observatie (4p<=n) :


Asa ca putem calcula numarul de zerouri impartindu-l pe n la 5 pentru fiecare numar incepand cu n=4*p pana cand gasim numarul p cautat si se obtine o complexitate mai buna decat log2(P) cu doar 33 iteratii pentru p=10^8.
Memorat
ctlin04
Nu mai tace
*****

Karma: 23
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #259 : Iulie 31, 2011, 14:59:30 »

La asta ma-m referit si eu Cosmin Clapon, cind am spus "o solutie ingenioasa", dar nu cred ca era cazu sa postezi prea explicit ideea Smile
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #260 : Iulie 31, 2011, 20:15:58 »

Eu nu inteleg de ce trebuie cautare binara si nici nu prea inteleg implementarea in problema asta.
Putem sa ne bazam doar pe cateva observatii matematice : 5*2 = 10, deci numarul de zerouri are legatura cu puterile lui 5.
Deci p se poate calcula ca mai jos si mai gasim o observatie (4p<=n) :


Asa ca putem calcula numarul de zerouri impartindu-l pe n la 5 pentru fiecare numar incepand cu n=4*p pana cand gasim numarul p cautat si se obtine o complexitate mai buna decat log2(P) cu doar 33 iteratii pentru p=10^8.

Misto solutia, mai ales ca e la o problema atat de clasica pentru infoarena. Cred ca nu are rost sa fii certat ca ai postat-o, pentru ca oricum topic-ul asta nu mai ascunde secrete despre problema de mult timp.
Memorat

Am zis Mr. Green
cosminx2003
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #261 : August 02, 2011, 14:02:37 »

Are idee careva ce e gresit in sursa asta de iau numai 10 puncte? primesc wrong answer pentru celelalte teste.

Algoritmul nu are cum sa fie gresit pentru ca am implementat solutia de care am zis mai sus si oricum am facut cateva sute de teste (cu p chiar mai mare de 10^8) verificandu-le cu brute force si au fost toate corecte. Cazurile -1 si p=0 se iau si ele in calcul.

LE: sursa http://pastebin.com/9jaxCBJG
« Ultima modificare: August 02, 2011, 14:19:15 de către Cosmin Clapon » Memorat
samsungmaster
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #262 : Decembrie 15, 2011, 20:13:23 »

 Weightlift
Memorat
dutzul
De-al casei
***

Karma: 42
Deconectat Deconectat

Mesaje: 119



Vezi Profilul
« Răspunde #263 : Ianuarie 18, 2012, 18:39:17 »

Hmm ce ciudat o cu variabilele declarate int ia 50 de pct iar aceiasi sursa cu long long ia 25 Huh sunt mai incete operatiile cu long long?? sau ce Annoyed
Memorat
SpiderMan
Nu mai tace
*****

Karma: -463
Deconectat Deconectat

Mesaje: 937



Vezi Profilul
« Răspunde #264 : Ianuarie 18, 2012, 21:27:46 »

Clar, int-ul din cate stiu merge cel mai repede, long long cel mai incet, pentru ca e mai mare si operatiile merg mai incet, short-ul este de asemenea rapid, dar nu mai rapid decat int-ul Wink.
Memorat
dutzul
De-al casei
***

Karma: 42
Deconectat Deconectat

Mesaje: 119



Vezi Profilul
« Răspunde #265 : Ianuarie 18, 2012, 21:50:42 »

k ms mi-a iesit pana la urma cu cautare peacefingers
Memorat
PlayLikeNeverB4
Nu mai tace
*****

Karma: 212
Deconectat Deconectat

Mesaje: 721



Vezi Profilul
« Răspunde #266 : Ianuarie 19, 2012, 14:52:54 »

long long merge mai incet fiindca ai de adunat mai multi biti, iar short nu merge mai rapede decat int fiindca inainte de a efectua operatiile oricum se transforma in int.
Memorat
reking
Strain
*

Karma: 3
Deconectat Deconectat

Mesaje: 39



Vezi Profilul
« Răspunde #267 : Ianuarie 20, 2012, 01:52:29 »

Nu am facut citirea din fisiere ... rog sa fie stearsa  Smile
Multumesc!
Memorat
eudanip
Echipa infoarena
Nu mai tace
*****

Karma: 307
Deconectat Deconectat

Mesaje: 703



Vezi Profilul
« Răspunde #268 : Ianuarie 20, 2012, 14:04:31 »

Scuze dar eu nu inteleg foarte bine. Confused Vrei sa iti fie stearsa sursa pentru ca nu ai pus fisiere?
Memorat
cosminnica
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #269 : August 06, 2012, 13:51:16 »

 Mad DE CE ZICE CA N-AM FISIER DE IESIRE?!??!?! Annoyed Angry Fool Weightlift Raised eyebrow Shame on you Indifferent Thumb down Think d'oh! Fighting
Memorat
visanr
Nu mai tace
*****

Karma: 168
Deconectat Deconectat

Mesaje: 213



Vezi Profilul
« Răspunde #270 : August 06, 2012, 13:52:40 »

Nu ai fisier de iesire pt ca in enunt scrie fact.in si fact.out, iar tu ai fac.in si fac.out.
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #271 : August 06, 2012, 17:39:16 »

Mad DE CE ZICE CA N-AM FISIER DE IESIRE?!??!?! Annoyed Angry Fool Weightlift Raised eyebrow Shame on you Indifferent Thumb down Think d'oh! Fighting

De ce zice ca n-am fisier de iesire?.
Fixed that for you.

Te rog sa adopti un ton echilibrat si respectuos in relatia cu ceilalti. Si sa nu ne devalorizezi emoticoanele, s-ar putea sa le folosim ca moneda nationala in curand Rolling Eyes.
Memorat
alex_unix
Strain
*

Karma: 22
Deconectat Deconectat

Mesaje: 46



Vezi Profilul
« Răspunde #272 : August 23, 2012, 11:22:09 »

0 factorial este 1 prin conventie  Tongue . Cred ca ar trebui sa fie specificat "cel mai mic numar natural nenul strict pozitiv" . Din punct de vedere matematic, exemplul 1 este gresit  Tongue
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #273 : August 23, 2012, 11:44:11 »

Pai asta inseamna strict pozitiv Smile. "Numar natural nenul strict pozitiv" este un pleonasm.
Memorat
cosminnica
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #274 : Decembrie 20, 2012, 10:28:19 »

am inteles ca trebuie sa calculez factorialul... si cam atat...  Mad iar asta e foarte simplu:

Cod:
#include<fstream>
using namespace std;
ifstream f("factorial.in");
ofstream g("factorial.out");
int n,p;
int main()
{
p=1;
f>>n;
for(int i=1;i<=n;++i)
{
p*=i;
}
g<<p;
g.close();
return 0;
}
« Ultima modificare: Decembrie 21, 2012, 16:53:39 de către Andrei Grigorean » Memorat
Pagini: 1 ... 9 10 [11] 12 13   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines