Pagini: 1 ... 6 7 [8] 9 10 ... 12   În jos
  Imprimă  
Ajutor Subiect: 008 Cifra  (Citit de 107289 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
gapdan
Strain
*

Karma: -17
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #175 : Martie 25, 2009, 11:01:10 »

Pai de ce este gresit nici nu pricep mai faceti odata testele Brick wall Brick wall Brick wall Fighting
Memorat
ucc_5
Client obisnuit
**

Karma: -11
Deconectat Deconectat

Mesaje: 82



Vezi Profilul
« 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 Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #177 : Iunie 28, 2009, 12:54:52 »

 Brick wall  cine imi spune si mie ce am gresit Please! sad
Cod:
#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
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« 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 Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #179 : Iunie 28, 2009, 13:10:36 »

http://infoarena.ro/job_detail/327323?action=view-source
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« 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 Wink. 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ă. Weightlift
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
TFifes
Strain
*

Karma: -20
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« 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
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« 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.  Think
Memorat
AnDrEwBoY
Strain
*

Karma: 4
Deconectat Deconectat

Mesaje: 36



Vezi Profilul
« 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.  Think
Ok
Memorat
miculprogramator
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #184 : Iulie 20, 2009, 13:04:58 »

E bine,mersi.  peacefingers

Acum astept sa-si revina evaluatorul.

Edit: Si-a revenit  Banana ! 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 Deconectat

Mesaje: 9



Vezi Profilul
« 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.

Cod:
#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 Deconectat

Mesaje: 28



Vezi Profilul
« Răspunde #186 : August 12, 2009, 08:10:52 »

Citat
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:
Cod:
  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:
Cod:
    [...]
    for(i=1;i<=cifra;i++) {
      z+=putere(i);
      z%=10;
    }
    fout<<z<<endl;
    [...]

Citat
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  Smile
Memorat
cezar.elnazli
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« 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 Deconectat

Mesaje: 28



Vezi Profilul
« 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:
Cod:
z=0
apoi sa calculezi in z suma 11+22+...+cifracifra:
Cod:
for(i=1;i<=cifra;i++) z+=putere(i);
si afisezi ultima cifra a rezultatului:
Cod:
fout<<z%10<<endl;
Citat
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:
Cod:
    for(i=1;i<=cifra;i++) {
      z+=putere(i);
      z%=10;
    }

Ceea ce afisezi tu in fisier este de fapt:
(aa)%10
(aa+bb)%10
(aa+bb+cc)%10
...

Unde a,b,c,... sunt cele t numere din fisier.
Memorat
cezar.elnazli
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« 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...
Cod:
1
5
2
8
3
Memorat
mlazari
Strain
*

Karma: 8
Deconectat Deconectat

Mesaje: 28



Vezi Profilul
« Răspunde #190 : August 12, 2009, 09:10:32 »

Citat
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:
(11+22+...+aa)%10
(11+22+...+bb)%10
(11+22+...+cc)%10
...
a,b,c... sunt cele t numere din fisierul de intrare.
Memorat
cezar.elnazli
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« 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ă.
Cod:
#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 Deconectat

Mesaje: 28



Vezi Profilul
« Răspunde #192 : August 12, 2009, 12:47:36 »

Se pare ca sunt prea mari numerele  Smile
Incearca ideea cu ultimele 2 cifre  peacefingers

Citat
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=100

Ultima sursa a mea are si comentarii, poti sa te uiti, poate te ajuta  peacefingers
Memorat
cezar.elnazli
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 9



Vezi Profilul
« 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 Smile 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
De-al casei
***

Karma: 155
Deconectat Deconectat

Mesaje: 132



Vezi Profilul
« Răspunde #194 : Noiembrie 18, 2009, 21:26:36 »

Killed by signal 8(SIGFPE) asta ce inseamna Huh?  Read This!

in fine eu cred ca algoritmul e bun

am ajuns la concluzia ca se repeta din 200 in 200 suma ... Smile
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 Smile pe privat ca sa imi atraga atentia  Cry

http://infoarena.ro/job_detail/365484?action=view-source

Editat 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
Nu mai tace
*****

Karma: 169
Deconectat Deconectat

Mesaje: 751



Vezi Profilul
« 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 Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #196 : Noiembrie 25, 2009, 22:39:11 »

Mie imi da eroarea "Non-zero exit status". Ce inseamna?
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« 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.  Ok
Memorat
eethro
Strain


Karma: -3
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« 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  Applause si nu mai contraziceti ca sigur aveti probleme in sistem! E imposibil ca sa aiba ceva
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« 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
Pagini: 1 ... 6 7 [8] 9 10 ... 12   În sus
  Imprimă  
 
Schimbă forumul:  

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