•gapdan
Strain
Karma: -17
Deconectat
Mesaje: 27
|
 |
« Răspunde #175 : Martie 25, 2009, 11:01:10 » |
|
|
|
|
Memorat
|
|
|
|
•ucc_5
Client obisnuit

Karma: -11
Deconectat
Mesaje: 82
|
 |
« Răspunde #176 : Aprilie 20, 2009, 18:28:43 » |
|
Totusi cum se demonsteaza matematic ca se repeta dn 100 in 100 si cu ce ajuta impartirea cu 4 ?
|
|
|
Memorat
|
|
|
|
•TFifes
Strain
Karma: -20
Deconectat
Mesaje: 27
|
 |
« Răspunde #177 : Iunie 28, 2009, 12:54:52 » |
|
 cine imi spune si mie ce am gresit Please!  #include<iostream.h> #include<fstream.h> #include<math.h> int main() { ifstream c("cifra.in"); ofstream v("cifra.out"); int t,i,n,u,s=0; c>>t; for(i=1;i<=t;i++) { c>>n; s=s+pow(n,n); u=s%10; v<<u; v<<endl; } c.close(); v.close(); return 0;
[Editat de moderator]E chiar asa greu sa folosesti tagul code cand postezi cod sursa? E a treia oara cand iti modific un mesaj
|
|
« Ultima modificare: Iunie 28, 2009, 13:04:26 de către Savin Tiberiu »
|
Memorat
|
|
|
|
•miculprogramator
|
 |
« Răspunde #178 : Iunie 28, 2009, 12:58:42 » |
|
Nu mai posta surse imediat ce nu-ti merg.Incearca sa optimizezi algoritmul,sa mai schimbi cate ceva etc. O chestie care se vede n avion este ca ai uitat sa inchizi dupa return 0;
|
|
|
Memorat
|
|
|
|
•TFifes
Strain
Karma: -20
Deconectat
Mesaje: 27
|
 |
« Răspunde #179 : Iunie 28, 2009, 13:10:36 » |
|
|
|
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #180 : Iunie 28, 2009, 14:51:09 » |
|
În primul rând, nu aşa se rezolvă problema. Am văzut din posturile tale de pe forum că nu cunoşti lucruri elementare de limbaj. Îţi recomand să mai înveţi puţin C/C++, după care să revii pe infoarena gata să ataci arhiva  . La tine în sursa n este de tip int (poate lua valori până la 2 miliarde), pe când în fişierele de intrare n-ul poate avea până la 100 de cifre. În al doilea rând, problema este open source - poţi vedea toate soluţiile celorlalţi, inclusiv cele care au obţinut punctaj maxim. În al treilea rând, citeşte acest topic. Cu siguranţă vei găsi răspunsuri la toate nedumeririle pe care le ai. Munceşte mai mult pe cont propriu, nu mai aştepta să îţi dea lumea mură-n gură. 
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•TFifes
Strain
Karma: -20
Deconectat
Mesaje: 27
|
 |
« Răspunde #181 : Iunie 28, 2009, 15:11:59 » |
|
Multumesc pentru sfat am sa-l iau in considerare......... Succes in continuare pentru toti!
|
|
|
Memorat
|
|
|
|
•miculprogramator
|
 |
« Răspunde #182 : Iulie 20, 2009, 12:50:24 » |
|
Cat va da pentru 567824517983 ? In asteptarea evaluatorului am creat singura niste teste, sa ma verific. La asta am o oarecare nelamurire. 
|
|
|
Memorat
|
|
|
|
•AnDrEwBoY
Strain
Karma: 4
Deconectat
Mesaje: 36
|
 |
« Răspunde #183 : Iulie 20, 2009, 12:55:59 » |
|
Cat va da pentru 567824517983 ? In asteptarea evaluatorului am creat singura niste teste, sa ma verific. La asta am o oarecare nelamurire.  8 
|
|
|
Memorat
|
|
|
|
•miculprogramator
|
 |
« Răspunde #184 : Iulie 20, 2009, 13:04:58 » |
|
E bine,mersi.  Acum astept sa-si revina evaluatorul. Edit: Si-a revenit  ! Da, sursa este buna, 100 de puncte.
|
|
« Ultima modificare: Iulie 20, 2009, 20:11:48 de către ALbulescu Cosmina »
|
Memorat
|
|
|
|
•cezar.elnazli
Strain
Karma: 2
Deconectat
Mesaje: 9
|
 |
« Răspunde #185 : August 12, 2009, 01:07:44 » |
|
Am si eu o problema. Am facut urmatoarea sursa, am incercat cu valorile din Exemplu, si a mers. Cand o trimit, insa, primesc 0 puncte. #include<fstream> using namespace std;
int putere(int cifra) { int numar = 1; for(int i = 0; i < cifra; i++) { numar *= cifra; }
return numar; }
int main() {
ofstream fout("cifra.out"); ifstream fin("cifra.in");
int cifra, d, t; int z = 0; fin >> t; for(d = 0; d < t; d++) { fin >> cifra; z += putere(cifra); fout << z%10 << endl; }
return 0; }
Edit: Cu ce numere testeaza evaluatorul? Stiam ca int-ul nu poate trece de 2 milioane. Toate testele trec de 2 milioane, sau mai exista o problema la sursa? Ar ajuta sa-l fac unsigned long int, sau nu pot decat cu un vector? Scuzati-mi lipsa de cunostinte, insa acestea se rezuma la primele 3 capitole din "Thinking in C++". La scoala nu am facut informatica anul asta, iar intr-a cincea/a sasea abia ne preda despre main(), int main(), sau void main(), ce scriam fiind la alegerea noastra...
|
|
« Ultima modificare: August 12, 2009, 01:44:29 de către Cezar El-Nazli »
|
Memorat
|
|
|
|
•mlazari
Strain
Karma: 8
Deconectat
Mesaje: 28
|
 |
« Răspunde #186 : August 12, 2009, 08:10:52 » |
|
Toate testele trec de 2 milioane, sau mai exista o problema la sursa? Cred ca este cel putin un test sub 2 milioane, nu stiu sigur... Cat despre sursa, cred ca ar trebui de modificat asa: int cifra,d,t,z,i; fin>>t; for(d= 0;d<t;d++) { fin>>cifra; z=0; for(i=1;i<=cifra;i++) z+=putere(i); fout<<z%10<<endl; }
Si mai bine daca scrii liniile astea asa: [...] for(i=1;i<=cifra;i++) { z+=putere(i); z%=10; } fout<<z<<endl; [...]
Ar ajuta sa-l fac unsigned long int, sau nu pot decat cu un vector? Nu poti lua suta de puncte citind tot numarul intr-o variabila, fie chiar si unsigned long int (numerele din fisier pot avea maxim 101 cifre). Sunt necesare doar ultimele 2 cifre din numar (s-a mai scris asta). Nu am verificat codul de mai sus, dar cred ca merge 
|
|
|
Memorat
|
|
|
|
•cezar.elnazli
Strain
Karma: 2
Deconectat
Mesaje: 9
|
 |
« Răspunde #187 : August 12, 2009, 08:19:46 » |
|
Eu nu văd nimic modificat în prima sursă De fapt, văd modificat scope-ul, dar cum al meu e global față de FOR, nu cred că e relevant, iar în a doua, dacă scriu așa cum scrii tu, nu ar trebui să scrie în fișier Z-ul final, deci, în cazul Exemplului, 3143?
Am văzut ce s-a scris, însă nu înțeleg de ce trebuie luate ultimele două cifre, și care e treaba cu cifrele acelea din array. Ultimele două cifre, cică dau ca rest la împărțirea cu patru ultima cifră. De ce trebuie să împărțim prin patru pentru a o afla?
Ideea e că mie îmi merge cu Exemplul, și alte trei teste mici făcute de mine. L-am pus să îmi arate ce face la fiecare pas din FOR, și e corect, atât timp cât numărul poate fi depozitat într-un INT.
|
|
« Ultima modificare: August 12, 2009, 08:26:10 de către Cezar El-Nazli »
|
Memorat
|
|
|
|
•mlazari
Strain
Karma: 8
Deconectat
Mesaje: 28
|
 |
« Răspunde #188 : August 12, 2009, 08:44:08 » |
|
Pentru fiecare test (d=0,1,2,...,t-1) trebuie sa initializezi variabila z cu 0: apoi sa calculezi in z suma 1 1+2 2+...+cifra cifra: for(i=1;i<=cifra;i++) z+=putere(i); si afisezi ultima cifra a rezultatului: iar în a doua, dacă scriu așa cum scrii tu, nu ar trebui să scrie în fișier Z-ul final, deci, în cazul Exemplului, 3143? Nu, pentru ca la fiecare pas in acest for z va retine doar ultima cifra a rezultatului: for(i=1;i<=cifra;i++) { z+=putere(i); z%=10; }
Ceea ce afisezi tu in fisier este de fapt: (a a)%10 (a a+b b)%10 (a a+b b+c c)%10 ... Unde a,b,c,... sunt cele t numere din fisier.
|
|
|
Memorat
|
|
|
|
•cezar.elnazli
Strain
Karma: 2
Deconectat
Mesaje: 9
|
 |
« Răspunde #189 : August 12, 2009, 09:00:33 » |
|
Păi nu asta trebuie făcut? Uite, aici e problema. Și eu asta fac. Ultima cifră a sumei loop flag-ului curent + cele precedente. Ideea e că unul din noi nu a înțeles ceva. Cu sursa postată, asta obțin eu dacă îl testez local, pe baza Exemplului, și e corect, pentru că asta e dat și pe pagina problemei. Dacă îmi mai poate da cineva test cases-uri să verific, aș fi recunoscător...
|
|
|
Memorat
|
|
|
|
•mlazari
Strain
Karma: 8
Deconectat
Mesaje: 28
|
 |
« Răspunde #190 : August 12, 2009, 09:10:32 » |
|
Păi nu asta trebuie făcut? Nu, tu nu ai inteles problema. Faptul ca pentru exemplu iti da corect este pentru ca ele sunt date in aceasta ordine: 1,2,...,t Ceea ce trebuie sa afisezi este: (1 1+2 2+...+a a)%10 (1 1+2 2+...+b b)%10 (1 1+2 2+...+c c)%10 ... a,b,c... sunt cele t numere din fisierul de intrare.
|
|
|
Memorat
|
|
|
|
•cezar.elnazli
Strain
Karma: 2
Deconectat
Mesaje: 9
|
 |
« Răspunde #191 : August 12, 2009, 09:13:27 » |
|
Ah, OK! Acum înțeleg. Mulțumesc mult, voi încerca să îl rescriu.Am încercat să îl rescriu, dar tot 0 puncte iau. Am testat doar cu numerele impare din Exemplu, deci nu mai poate fi vorba de aceeași eroare, dă calumea la mine, dar la evaluator nu. Asta e sursa modificată. #include<fstream> using namespace std;
int putere(int cifra) { int numar = 1; for(int i = 0; i < cifra; i++) { numar *= cifra; }
return numar; }
int main() {
ofstream fout("cifra.out"); ifstream fin("cifra.in");
int cifra, d, t; fin >> t; for(d = 0; d < t; d++) { int z = 0; fin >> cifra; for(int i = 1; i <= cifra; i++) { z += putere(i); z %= 10; } fout << z << endl; }
return 0; }
|
|
« Ultima modificare: August 12, 2009, 09:35:43 de către Cezar El-Nazli »
|
Memorat
|
|
|
|
•mlazari
Strain
Karma: 8
Deconectat
Mesaje: 28
|
 |
« Răspunde #192 : August 12, 2009, 12:47:36 » |
|
Se pare ca sunt prea mari numerele  Incearca ideea cu ultimele 2 cifre  Pentru aceasta problema accesul la toate sursele trimise este liber! Daca nu stii cum s-o faci poti sa te uiti la sursele celorlalti de 100 puncte: http://infoarena.ro/monitor?task=cifra&score_begin=100Ultima sursa a mea are si comentarii, poti sa te uiti, poate te ajuta 
|
|
|
Memorat
|
|
|
|
•cezar.elnazli
Strain
Karma: 2
Deconectat
Mesaje: 9
|
 |
« Răspunde #193 : August 12, 2009, 13:23:30 » |
|
Ideea e că nu pot învăța din sursele altora, pentru că, oricât m-aș uita la un exemplu, nu mă pot concentra, și mă gândesc la ce topping pun pe pizza  Prefer ceva gen pseudo-cod, să simt că fac și eu ceva. Mulțumesc de ajutor, voi căuta să îmi extind cunoștințele pe cât posibil înainte de a încerca probleme cu un nivel ridicat de dificultate.
|
|
|
Memorat
|
|
|
|
•veleandu
|
 |
« Răspunde #194 : Noiembrie 18, 2009, 21:26:36 » |
|
Killed by signal 8(SIGFPE) asta ce inseamna  ?  in fine eu cred ca algoritmul e bun am ajuns la concluzia ca se repeta din 200 in 200 suma ...  pana la 20 suma e 1 deci .. pana al 200 suma e 0 desi uni folosesc 100 va rog vrumos imi spuneti si mie daca se poate un buzz  pe privat ca sa imi atraga atentia http://infoarena.ro/job_detail/365484?action=view-sourceEditat de admin: Nu mai posta surse complete. La problemele pentru care accesul la surse e liber, pune link.
|
|
« Ultima modificare: Noiembrie 18, 2009, 22:49:41 de către Andrei Grigorean »
|
Memorat
|
|
|
|
•Mishu91
|
 |
« Răspunde #195 : Noiembrie 18, 2009, 21:42:06 » |
|
În primul rând când postezi o sursă folosește tagul "code". În al doilea rând, nu am înțeles cum și ce faci tu acolo, dar Killed by signal 8 primești pentru că faci o împărțire sau un modulo la 0.
|
|
|
Memorat
|
|
|
|
•benny
Strain
Karma: 0
Deconectat
Mesaje: 8
|
 |
« Răspunde #196 : Noiembrie 25, 2009, 22:39:11 » |
|
Mie imi da eroarea "Non-zero exit status". Ce inseamna?
|
|
|
Memorat
|
|
|
|
•Florian
|
 |
« Răspunde #197 : Noiembrie 26, 2009, 17:28:23 » |
|
Da un search pe forum / site. Sunt zeci de oameni care au intrebat asta inaintea ta si carora li s-a raspuns. 
|
|
|
Memorat
|
|
|
|
•eethro
Strain
Karma: -3
Deconectat
Mesaje: 1
|
 |
« Răspunde #198 : Decembrie 26, 2009, 20:27:16 » |
|
eu facui testul ala care il dati pe site da exact... si evaluarea imi da 0  si nu mai contraziceti ca sigur aveti probleme in sistem! E imposibil ca sa aiba ceva
|
|
|
Memorat
|
|
|
|
•sima_cotizo
|
 |
« Răspunde #199 : Decembrie 26, 2009, 20:43:52 » |
|
E imposibil ca sa aiba ceva
Daca te refereai la sistem, iti dau dreptate. E imposibil ca sistemul de evaluare sa aiba ceva. Si nu te contrazic, si programul tau merge. Dar nu cum trebuie. Ca sa te putem ajuta, spune ce faci in rezolvarea ta.
|
|
|
Memorat
|
|
|
|
|