Pagini: 1 ... 3 4 [5] 6 7 ... 12   În jos
  Imprimă  
Ajutor Subiect: 008 Cifra  (Citit de 107085 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
mihai0110
Strain


Karma: 6
Deconectat Deconectat

Mesaje: 20



Vezi Profilul
« Răspunde #100 : Iunie 07, 2007, 10:50:55 »

Dupa ce am citit forumu am luat si eu 100, Dancing Dancing, muream in bezna daca nu ziceati ca se tin minte ultimele 2 cifre
Memorat
alex23
Strain


Karma: -7
Deconectat Deconectat

Mesaje: 13



Vezi Profilul
« Răspunde #101 : Iulie 28, 2007, 08:42:43 »

Imi spuneti si mie daca sunt bune valorile astea pentru 0--99?

Editat de moderator: Te rog nu posta pe forum rezolvari aproape complete. Daca vrei poti sa imi trimiti un private message si iti raspund.

Imi puteti spune si mie unde gresesc?Sau cel putin dati-mi o valoare pentru care programul nu merge

[editat de moderator]: nu posta cod sursa pe site, este usor sa faci singur debug si sa vezi unde nu iti merge programul la problema asta. sunt multe post-uri la problema asta si gasesti o gramada de sfaturi in ele. de asemenea, te rog sa nu postezi de 2 ori consecutiv Smile
« Ultima modificare: Iulie 28, 2007, 19:58:09 de către Airinei Adrian » Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #102 : Iulie 29, 2007, 08:52:24 »

Ti-am trimis inca de ieri un private message cu valorile bune. Ar trebui sa te ajute Smile.
Memorat

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


Karma: -5
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #103 : Noiembrie 30, 2007, 13:31:49 »

la problema CIFRA mie imi da rezultat corect pe toate cazurile .
de ce am 0?
Memorat
Pepelea_Flaviu
Client obisnuit
**

Karma: 30
Deconectat Deconectat

Mesaje: 98



Vezi Profilul
« Răspunde #104 : Noiembrie 30, 2007, 18:28:16 »

Pt ca ceva nu ai facut bine Very Happy
Memorat
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #105 : Noiembrie 30, 2007, 23:17:12 »

putin probabil sa fi incercat toate testele... volumul de date e destul de mare. incearca sa faci un algoritm brute-force si sa calculezi pana la 1000. verifica sa afisezi corect. citeste cu atentie acest topic. s-au discutat multe idei de rezolvare Smile
Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
Darth_Niculus
De-al casei
***

Karma: -13
Deconectat Deconectat

Mesaje: 143



Vezi Profilul
« Răspunde #106 : Decembrie 01, 2007, 12:25:59 »

la problema CIFRA mie imi da rezultat corect pe toate cazurile .
de ce am 0?
eventual daca dai si tu mai multe detalii... despre cum faci, poate putem sa te ajutam
Memorat
cristiprg
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 23



Vezi Profilul
« Răspunde #107 : Decembrie 10, 2007, 23:03:48 »

Buna, imi poate explica cineva pls , de ce iau 0 puncte? dupa mine am facut corect, si simplu, dar sunt sigur ca m-am inselat:)), pentru numere mai mici, merge corect.... Think

int t,n,s=1,i,j,nr=1;
   fin>>t;
   for(int k=1;k<=t;++k)
     {
         fin>>n;
         for(i=2;i<=n;++i)
           {
            for(j=i;j>0;j--)
               nr*=i,nr%=10;
           s+=nr%10,s%=10;
           nr=1;
            }
       fout<<s%10<<"\n",s=1;
      }   
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #108 : Decembrie 10, 2007, 23:38:13 »

10^100 nu incape in int.
Memorat

Am zis Mr. Green
Bogdan_tmm
De-al casei
***

Karma: 4
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #109 : Ianuarie 12, 2008, 22:17:43 »

Offf.Ma manca problema asta.Nu stiu de ce ia atat timp si kb...Am 2 --for-- si un  un switch asta e codu
Cod:
#include<iostream>
#include<stdio.h>
FILE *f,*g;
int main ()
{
f=fopen("cifra.in","r");
g=fopen("cifra.out","w");
int n,s,i; long j,s2,q ;
fscanf(f,"%d\n",&n);
for(i=1;i<=n;i++)
{
 fscanf(f,"%s\n",&q);
 s=0;
 for(j=1;j<=q;j++)
 {switch (j)
 {
 case 1:s=(s+1)%10;break;
 case 2:s=(s+4)%10;break;
 case 3:s=(s+7)%10;break;
 case 4:s=(s+6)%10;break;
 case 5:s=(s+5)%10;break;
 case 6:s=(s+6)%10;break;
 case 7:s=(s+3)%10;break;
 case 8:s=(s+6)%10;break;
 case 9:s=(s+9)%10;;break;
 case 0:s=s;break;
 }
 }
  fprintf(g,"%d\n",s);
}
fclose(f),fclose(g);
return 0;
}




Daca e prea mult stergeti-l dar am luat 0 puncte pe el asa ca.... Confused
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #110 : Ianuarie 12, 2008, 22:23:32 »

cam dubioasa sursa..tu citesti q-ul de tip sir de caractere (cu "%s"), si apoi ai for(j=1;j<=q;j++) {} ? Raised eyebrow
Memorat
Bogdan_tmm
De-al casei
***

Karma: 4
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #111 : Ianuarie 12, 2008, 22:26:06 »

Pai asa citi mai sus.In fine poate nu intelesei eu.Dar la inceput aveam %ld.Si tot nu mearsa...
Later:aaa si la ultimu "break" aveam ...;;break;modificai si nu asta e problema
« Ultima modificare: Ianuarie 12, 2008, 22:31:49 de către Tarca Bogdan » Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #112 : Ianuarie 12, 2008, 22:32:29 »

Neah...ce pot sa iti spun? Topicul asta are 5 pagini. E plin de indicii. Citeste si incearca sa faci dupa cum iti spun ele. Ai grija ca rezultatele se repeta din 100 in 100 de numere... Deci, nu trebuie decat sa precalculezi un vector de solutii pt fiecare nr de la 1 la 100, iar apoi, in functie de acestea, vei afisa doar v[penultima*10+ultima], unde ultima si penultima sunt ultimile 2 cifre ale lui N. Zic eu ca e suficient sa iti dai seama. Spor!  Ok
Memorat
skyel
Nu mai tace
*****

Karma: 29
Deconectat Deconectat

Mesaje: 263



Vezi Profilul
« Răspunde #113 : Ianuarie 12, 2008, 22:37:51 »

si ar mai fi si aspecutul....ca tu citesti un string intr-un integer....?
p.s.: degeaba scrii long int, ca pe InfoArena long int e acelasi lucru cu int (int oscileaza intre short int si long int in functie de compiler, mai exact in borland int<=>short int  iar in gnu(compilerul IA) int<=>long int)
Memorat
Bogdan_tmm
De-al casei
***

Karma: 4
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #114 : Ianuarie 12, 2008, 22:40:10 »

hm... ms sper sa reusesc odata Angry Dar nu ai o idee de ce asta nu merge? de ce ii ia atat de mult timp pentru a afla macar ultima cifra a primului numar?
Memorat
skyel
Nu mai tace
*****

Karma: 29
Deconectat Deconectat

Mesaje: 263



Vezi Profilul
« Răspunde #115 : Ianuarie 12, 2008, 22:41:58 »

...nu prea face nimica algoritmul tau chiar daca ai citii bine(un int in q) pentru ca tu ai switch in j, nu in j%10 Whistle, si cand j depaseste 10.... nu mai face nimic algoritmul
LE: pe langa multe alte aspecte
Memorat
Bogdan_tmm
De-al casei
***

Karma: 4
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #116 : Ianuarie 12, 2008, 23:42:42 »

Dap cand depaseste 10 nu mai face nimic.Acum realizez si eu.
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #117 : Ianuarie 13, 2008, 01:00:14 »

Neah...ce pot sa iti spun? Topicul asta are 5 pagini. E plin de indicii. Citeste si incearca sa faci dupa cum iti spun ele. Ai grija ca rezultatele se repeta din 100 in 100 de numere... Deci, nu trebuie decat sa precalculezi un vector de solutii pt fiecare nr de la 1 la 100, iar apoi, in functie de acestea, vei afisa doar v[penultima*10+ultima], unde ultima si penultima sunt ultimile 2 cifre ale lui N. Zic eu ca e suficient sa iti dai seama. Spor!  Ok

Ideal ar fi sa iti dai seama si de ce e asa, nu doar sa iei 100 de puncte Smile.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #118 : Ianuarie 13, 2008, 11:24:32 »

Desi a trecut foarte mult timp de cand am rezolvat problema, inca nu mi`am dat "seama de ce e asa". Ideea e ca, daca ridici un numar x, la puterea y, si doresti sa afli doar ultima cifra a acestei ridicari la putere, rezultatele se vor repeta , fiind in functie de ultima cifra a bazei ridicata la puterea restului dintre ultima cifra a exponentului %4.
De exemplu, pt numerele care se termina in 3 (sa le notam cu x), avem asa:
x^0=1 (rezultatele sunt toate %10).
x^1=3
x^2=9
x^3=7
x^4=1
x^5=3
x^6=9
...

Asadar, se observa ca, daca exponentul (sa`l notam cu y) respecta :
* y%4==0, atunci x^y se termina in 1.
* y%4==1, atunci x^y se termina in 3.
* y%4==2 atunci x^y se termina in 9.
* y%4==3, atunci x^y se termina in 7. [unde x, este un numar care se termina in 3].

La fel se intampla si pt celelalte cifre. Acest lucru m-a ajutat sa`mi generez intr-un timp foarte scurt vectorul ala de 100. Banuiesc ca faptul ca se repeta din 100 in 100 are legatura cu asta. Ar putea posta cineva o demonstratie matematica care sa arate ca acele sume [din problema] au rezultate care se repeta din 100 in 100? I-as fi foarte recunoscator.  Ok
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #119 : Ianuarie 13, 2008, 12:34:05 »

Avem asa:

1. x^x = (x+100)^(x+100) (modulo 10).
2. suma 0^0 + 1^1 + 2^2 + ... + 99^99 = 0 (modulo 10).

Acum iti dai seama?
Memorat

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

Karma: -25
Deconectat Deconectat

Mesaje: 41



Vezi Profilul
« Răspunde #120 : Ianuarie 16, 2008, 22:07:50 »

Am o problema, presupun k e la metoda de generare a sirului. Eu am folosit urmatorul algoritm:
Cod:
for i := 1 to 100 do begin
k := 1;
for j := 1 to i do begin
k := (k mod 10) * (i mod 10);
end;
A[i] := k;
end;
for i := 2 to 100 do begin
A[i] := A[i]+A[i-1];
A[i] := A[i] mod 10;
end;
Editat de moderator: folositi tag-ul "code" cand postati bucati dintr-o sursa
« Ultima modificare: Ianuarie 16, 2008, 22:41:15 de către Stefan Istrate » Memorat
Vlad-andrei
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 21



Vezi Profilul
« Răspunde #121 : Februarie 17, 2008, 19:28:37 »

Ce am gresit cand primesc acest mesaj "Non-zero exit status".Am facut testele mele si nergea...Ma poate ajuta cineva?Multumesc!!
Memorat
Bogdan_tmm
De-al casei
***

Karma: 4
Deconectat Deconectat

Mesaje: 122



Vezi Profilul
« Răspunde #122 : Februarie 22, 2008, 13:21:58 »

Din cat in cat se repetea totusi?din 100 in 100 la mine nu merge  Brick wall
Cod:
 for(i=1;i<=m;i++)
{
 fscanf(f,"%ld",&n);
 if (n<=100) k=n;
 else k=n%100;
 fprintf(g,"%d\n",a[k]);
}
unde a[] este vectorul cu primele 100 de elemente.Any idea? Brick wall
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #123 : Februarie 22, 2008, 15:10:30 »

Vezi ca numerele au 100 de cifre. Intr`o variabila de tip long nu pot baga mai mult de 9 cifre. Citeste intr`un vector char, ca si cum ai pastra un numar mare. Spor.
Memorat
Vlad-andrei
Strain


Karma: 2
Deconectat Deconectat

Mesaje: 21



Vezi Profilul
« Răspunde #124 : Februarie 22, 2008, 18:46:20 »

Multumesc Florian!
Memorat
Pagini: 1 ... 3 4 [5] 6 7 ... 12   În sus
  Imprimă  
 
Schimbă forumul:  

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