Pagini: 1 2 [3] 4 5 ... 12   În jos
  Imprimă  
Ajutor Subiect: 008 Cifra  (Citit de 106858 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #50 : Ianuarie 24, 2006, 14:56:57 »

e bine.

poi fa un vector de constante cu 100 de elemente si afiseaza. totusi da un edit la postul de mai sus ptr a evita incidente gen copy paste.
Memorat

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


Karma: -1
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #51 : Martie 21, 2006, 20:54:48 »

Hy. Am un vektor de la 0 la 99, in care sunt numerele. Daca primesc un numar ex. 1762 atunci solutia este vektor[1762 mod 100].  Cateva exemple : 1 = 1; 10 = 7; 176 = 6 ; 987654321 = 5 ; 374 = 5 ; 1762 = 7 ;
 Primul test OK, la celelalte primesc raspuns gresit. Imi puteti da cateva exemple la care gresesc? Sau daca stie cineva numerele din teste.
     Mersi
Memorat
filipb
Nu mai tace
*****

Karma: 232
Deconectat Deconectat

Mesaje: 929



Vezi Profilul
« Răspunde #52 : Martie 21, 2006, 21:27:30 »

Te-ai gandit ca numerele nu se incadreaza in long? Numerele citite au pana la 100 cifre.
Memorat
lehelc
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #53 : Martie 22, 2006, 10:15:39 »

Mersi. Acum iau 100. Citesc intr-un string, si folosesc ultimi caracteri..Smile
Memorat
cnuteam
Vizitator
« Răspunde #54 : Aprilie 07, 2006, 14:06:03 »

 Am si eu o problema. am facut faza cu vectorul si cu (n mod 100),cand foloseam long mergea primul test si cand am folosit string imi da 0 Brick wall.Puteti sa dati un test sa vad unde-i greseala?
Memorat
ditzone
Vizitator
« Răspunde #55 : Aprilie 07, 2006, 14:38:35 »

Citeste si posturile anterioare..  o sa gasesti cateva exemplu...
Memorat
kyrk
Strain


Karma: -8
Deconectat Deconectat

Mesaje: 13



Vezi Profilul
« Răspunde #56 : Aprilie 07, 2006, 18:56:09 »

m-am tot chinuit la problema asta si nu imi dau seama ! Am facut sa mearga cu 100 cifre dupa ce il memorez intr-un string si salvez ultimele 2 cifre...dar care este formula? ca daca fac fara formula iese din timp  Fighting
Memorat
andreit1
Vizitator
« Răspunde #57 : Aprilie 07, 2006, 19:09:35 »

Singura 'forumla' necesara este faptul ca poti sa iei numarul din fisierul de intrare modulo 100. Cat timp sunt numai 100 de valori le poti calcula la inceputul programului si dupa asta ai O(1) al fiecare intrebare.
Memorat
cnuteam
Vizitator
« Răspunde #58 : Aprilie 09, 2006, 10:07:53 »

Explicati-mi si mie ce-i gresit la asta.

#include<fstream.h>
#include<iostream.h>
#include<string.h>
#include<stdlib.h>
ifstream in ("cifra.in");
ofstream out ("cifra.out");
int t,x,i,d,a[22]={0,1,5,2,8,3,9,2,8,7,7,8,4,7,3,8,4,1,5,4,4};
char n[102];
int main()
{in>>t;x=0;
 for(i=1;i<=t;i++)
{in>>n;
d=strlen(n);
if(n[d-2])
x=int((n[d-2])-48)*10+int(n[d-1])-48;
else x=int(n[d-1])-48;
out<<((x/10)*4+a[x%20])%10<<endl;}
in.close();
out.close();
return 0;}

Memorat
devilkind
Echipa infoarena
Nu mai tace
*****

Karma: 284
Deconectat Deconectat

Mesaje: 1.240



Vezi Profilul
« Răspunde #59 : Aprilie 09, 2006, 10:45:32 »

cum ai descoperit u vectoru ala de constante. Parerea mea ca acolo e gresheala. dati si u un test de 100 nr cu 1,2,3,..100 si vezi dak iti merge. Vezi ca u perioada o ai din 100 in 100 nu din 22 in 22 cum ai scris u acolo. Topicul asta are 2 pagini citeshte toate posturile shi vei gasi o gramada de indicatii.
Memorat
cnuteam
Vizitator
« Răspunde #60 : Aprilie 09, 2006, 12:14:27 »

Ms mult pt sugestia cu 1 la 100.Astfel am depistat greseala si am luat 100 de puncte Yahoo!.In legatura cu problema,eu mergeam din 20 in 20 si inmulteam cu 4 la fiecare 20. Oricum ms mult.
Memorat
iondion
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #61 : Octombrie 31, 2006, 21:01:56 »

Salut, sunt nou pe forum si acum am probleme cu problema 008...nu inteleg de ce obtin TLE...mi se pare destul de eficienta...ma puteti ajuta...putin? multumesc

Cod:
 ... 
« Ultima modificare: Noiembrie 01, 2006, 17:59:19 de către filipb » Memorat
ditzone
Vizitator
« Răspunde #62 : Octombrie 31, 2006, 21:26:08 »

Citat
1 ≤ N < 10100
Tu ai declarat acolo n de tip long si nu poti retine un numar atat de mare.
Pe langa asta tu parcurgi toate numerele de la 1 la N care dureaza destul de mult pentru  N > 10 000 000....
Incearca sa dai niste teste la tine pe calculator... ceva mai mari ...
Memorat
iondion
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #63 : Noiembrie 01, 2006, 16:41:47 »

da...corect...multumesc:D
Memorat
jdv
Strain
*

Karma: 0
Deconectat Deconectat

Mesaje: 34



Vezi Profilul
« Răspunde #64 : Februarie 07, 2007, 19:07:49 »

Am si eu unele dificultati cu aceasta problema...
Am calculat valorile din vectorul de constante dar la evaluare am numai raspunsuri gresite...

Valorile mele par ok si din cate am vazut in posturile anterioare le-am calculat bine...

I need some help...
Memorat
Darth_Niculus
De-al casei
***

Karma: -13
Deconectat Deconectat

Mesaje: 143



Vezi Profilul
« Răspunde #65 : Februarie 07, 2007, 19:30:13 »

pai da si tu ceva mai multe detalii, ca asta e cam larg: ai aflat vectorul de constante(aici deja apar doua posibilitati: l-ai aflat bine sau nu l-ai aflaat bine). In cazul in care nu l-ai aflat bine.... ai descoperit greseala , in cazul in care l-ai aflat bine inseamna ca ai alte greseli prin cod (si aici nu poate a te ajute nimeni... in lipsa de detalii).

[Later Added] Fa si tu un program dasta asa mai taranesc(daca n-ai facut deja unu, daca ai facut..... fa-l din nou) si compara rezultatele date de cele doua programe pestru teste mai ciudate cum ar fi (90, 102,110,150,201,205)
« Ultima modificare: Februarie 07, 2007, 19:50:27 de către Ivan Nicolae » Memorat
jdv
Strain
*

Karma: 0
Deconectat Deconectat

Mesaje: 34



Vezi Profilul
« Răspunde #66 : Februarie 08, 2007, 16:42:24 »

Acum obtin 20 de puncte...si restul raspunsuri gresite...
Am verificat cu doua programe sa vad daca imi ies aceleasi rezultate si intr-adevar ies aceleasi rezultate...

Cod nu pot sa pun pentru ca e prea explicit... sad
Memorat
DITzoneC
Nu mai tace
*****

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« Răspunde #67 : Februarie 08, 2007, 16:56:06 »

Citat
1 < N < 10100
N nu se incadreaza in vreun tip de date intreg, trebuie citit ca sir de caractere.

Daca citeai cateva posturi mai sus ai fi gasit raspunsul.
Memorat
jdv
Strain
*

Karma: 0
Deconectat Deconectat

Mesaje: 34



Vezi Profilul
« Răspunde #68 : Februarie 08, 2007, 17:00:14 »

Am gasit greseala...
Nu era din cauza tipului de date...pentru ca am lucrat cu siruri de caractere...
Thanks anyway...

Oricum acum am 100 de puncte la problema Yahoo!
Memorat
k_ounu_eddy
Vorbaret
****

Karma: -104
Deconectat Deconectat

Mesaje: 161



Vezi Profilul
« Răspunde #69 : Februarie 13, 2007, 19:44:55 »

1)Am si eu o curiozitate.Cum se poate demonstra matematic ca se repeta din 100 in 100?
2)puteti sa imi spuneti ce am gresit in solutia:
Cod:
#include<fstream.h>
#include<string.h>
#include<stdlib.h>

int main()
{
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int r[10][10];
r[0][0]=0,r[0][1]=1,r[0][2]=5,r[0][3]=2,r[0][4]=8,r[0][5]=3,r[0][6]=9,r[0][7]=2,r[0][8]=8,r[0][9]=7;
r[1][0]=7,r[1][1]=8,r[1][2]=2,r[1][3]=9,r[1][4]=5,r[1][5]=0,r[1][6]=6,r[1][7]=9,r[1][8]=5,r[1][9]=4;
r[2][0]=4,r[2][1]=5,r[2][2]=9,r[2][3]=6,r[2][4]=2,r[2][5]=7,r[2][6]=3,r[2][7]=6,r[2][8]=2,r[2][9]=1;
r[3][0]=1,r[3][1]=2,r[3][2]=6,r[3][3]=3,r[3][4]=9,r[3][5]=4,r[3][6]=0,r[3][7]=3,r[3][8]=9,r[3][9]=8;
r[4][0]=8,r[4][1]=9,r[4][2]=3,r[4][3]=0,r[4][4]=6,r[4][5]=1,r[4][6]=7,r[4][7]=0,r[4][8]=6,r[4][9]=5;
r[5][0]=5,r[5][1]=6,r[5][2]=0,r[5][3]=7,r[5][4]=3,r[5][5]=8,r[5][6]=4,r[5][7]=7,r[5][8]=3,r[5][9]=2;
r[6][0]=2,r[6][1]=3,r[6][2]=7,r[6][3]=4,r[6][4]=0,r[6][5]=5,r[6][6]=1,r[6][7]=4,r[6][8]=0,r[6][9]=9;
r[7][0]=9,r[7][1]=0,r[7][2]=4,r[7][3]=1,r[7][4]=7,r[7][5]=2,r[7][6]=8,r[7][7]=1,r[7][8]=7,r[7][9]=6;
r[8][0]=6,r[8][1]=7,r[8][2]=1,r[8][3]=8,r[8][4]=4,r[8][5]=9,r[8][6]=5,r[8][7]=8,r[8][8]=4,r[8][9]=3;
r[9][0]=3,r[9][1]=4,r[9][2]=8,r[9][3]=5,r[9][4]=1,r[9][5]=6,r[9][6]=2,r[9][7]=5,r[9][8]=1,r[9][9]=0;
long int T;
int x;
char n[100],u[2];
fin>>T;
for(int i=1;i<=T;i++)
  {
  int UltimaCifra,PenultimaCifra;
  fin>>n;
  if(strlen(n)>=2)
    {
    u[0]=n[strlen(n)-2];
    u[1]=n[strlen(n)-1];
    x=atoi(u);
    UltimaCifra=x%10;
    x=x/10;
    PenultimaCifra=x%10;
    }

  else
    {
    char *a=n;
    x=atoi(a);
    UltimaCifra=x%10;
    PenultimaCifra=0;
    }
  fout<<r[PenultimaCifra][UltimaCifra] ;
  }
fout<<"/n";
return 0;
}
Am scris manual toate rezultatele de la 0 la 99 ,dar am raspunsuri gresite.unde am gresit?Oare sa fie de la matricea r(sa fi gresit vreo valoare),sau e ceva de programare?
[lateredit]Miam dat seama ce am gresit,si mi-am dat seama si cum se demonstreaza matematic.
« Ultima modificare: Februarie 14, 2007, 11:43:57 de către Iacob Eduard » Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #70 : Februarie 15, 2007, 22:01:28 »

Am reusit sa iau 100 Yahoo!..in sfarsit...deci numai ultimile 2 cifre conteaza....un indiciu: un vector de 100 de....elmente....si citire cu stringuri.....Whistle
« Ultima modificare: Martie 26, 2007, 19:47:27 de către Marcu Florian » Memorat
k_ounu_eddy
Vorbaret
****

Karma: -104
Deconectat Deconectat

Mesaje: 161



Vezi Profilul
« Răspunde #71 : Februarie 17, 2007, 20:35:10 »

Ce are ultimul test,ca obtin WA?Poate vi s-a intamplat si voua,nu stiti ce are?La restul testelor obtin raspuns corect(deci 90 p in total),deci nu prea imi dau seama ce poate sa se fi intamplat
Memorat
Omega91
Strain
*

Karma: 0
Deconectat Deconectat

Mesaje: 36



Vezi Profilul
« Răspunde #72 : Martie 20, 2007, 00:29:56 »

daca folosesc fstream-urile iau 70 pct Brick wall. daca merg pe FILE, i-au 100 pct.  Winner 1st place (problema in rest este identica)
« Ultima modificare: Martie 20, 2007, 10:01:16 de către Nicodei Eduard » Memorat
c_e_manu
Nu mai tace
*****

Karma: 56
Deconectat Deconectat

Mesaje: 243



Vezi Profilul
« Răspunde #73 : Aprilie 02, 2007, 18:57:10 »

Sunt total debusolat...poate ca sunt si prea obosit, dar nu stiu ce nu-i in regula cu rezolvarea mea...poate vectorul cu solutii pana la 100, desi l-am generat de nu mai stiu cate ori...

1,5,2,8,3,9,2,8,7,7,8,2,9,5,0,6,9,5,4,4,5,9,6,2,7,3,6,2,1,1,2,6,3,9,4,0,3,9,8,8,9,3,0,6,1,7,0,6,5,5,
6,0,7,3,8,4,7,3,2,2,3,7,4,0,5,1,4,0,9,9,0,4,1,7,2,8,1,7,6,6,7,1,8,4,9,5,8,4,3,3,4,8,5,1,6,2,5,1,0,0.

Si am citit intr-un string... ar putea sa ma ajute cineva pls?
« Ultima modificare: Aprilie 02, 2007, 19:09:03 de către Cinca Emanuel » Memorat
Bluedrop_demon
Client obisnuit
**

Karma: -3
Deconectat Deconectat

Mesaje: 66



Vezi Profilul
« Răspunde #74 : Aprilie 02, 2007, 19:16:51 »

Nu e bun vectorul. Nu-mi dau seama unde ai gresit dar numai primele pozitii sunt perfecte. Dupa aceea deja nu mai sunt bune. Incearca sa generezi vectorul pentru 0..99. Restul impartirii unui numar la 100 este intre 0 si 99 si primul numar din vector astfel ar fi 0.

Ar trebui sa mearga si pe vectorul tau daca ai pune v[i+1], dar din pacate nu e generat corect. Daca e ok cu adminii, pune codul de generare al vectorului aici sa ne uitam pe el.
Memorat
Pagini: 1 2 [3] 4 5 ... 12   În sus
  Imprimă  
 
Schimbă forumul:  

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