Pagini: [1] 2 3 ... 6   În jos
  Imprimă  
Ajutor Subiect: 001 CMMDC  (Citit de 78538 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
fluffy
Echipa infoarena
De-al casei
*****

Karma: 71
Deconectat Deconectat

Mesaje: 146



Vezi Profilul
« : Martie 08, 2004, 19:50:56 »

Aici puteţi discuta despre problema CMMDC.
Memorat
Florin90tl
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #1 : Octombrie 22, 2006, 20:55:14 »

As vrea si yo putin ajutor la problema asta!! Vreau doar sa stiu conditiile pe care pot sa le folosesc  sau metoda de rezolvare.Parca era Algoritmul lu Euclid sau Euler dar nu mai stiu sigur!! Pls ma ajuta  cineva???
Memorat
alexthero
De-al casei
***

Karma: 121
Deconectat Deconectat

Mesaje: 129



Vezi Profilul
« Răspunde #2 : Octombrie 22, 2006, 21:06:21 »

http://info.devnet.ro/articole.php?page=art&art=26
Memorat

Tine minte ca mintea conduce pumnu, nu invers
Tabara Mihai
Vizitator
« Răspunde #3 : Octombrie 22, 2006, 21:10:03 »

sa ai grija ca daca numerele sunt prime intre ele nu afisezi 1 ci 0.
( altfel iei numai 50 de puncte ) Ok

Spor. Thumb up
Memorat
edu2004eu
Strain


Karma: -6
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #4 : Decembrie 11, 2006, 17:56:15 »

am trimis raspunsul la CMMDC (care merge la mine pe calculator) si... mia dat eroare: raspuns gresit... 0 puncte. ma poate ajuta cineva?
Memorat
aLiNuSh-LTD
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #5 : Decembrie 11, 2006, 22:09:42 »

Cred ca ori sunt foarte obosit in seara asta ori evaluatorul are probleme serioase...
Cam asa am facut programul...
Cod:
#include <fstream>
#include <iostream>
#include <cmath>
using namespace std;
int main(void)
{
    long a,b,m,n,r;
   
    fstream fin("cmmdc.in", ios::in);
    fstream fout("cmmdc.out", ios::out);
    fin >> a;
    fin >> b;
    a = labs (a);
    b = labs (b);
   
    m = a;
    n = b;
    do
    {
       r = m % n;
       m = n;
       n = r;
    }
    while (r);
   
    if (m == 1)
    {
        fout << 0;
        fout.close();
        fin.close();
        return 0;
    }
    else /*if (m!=1) */
    {
        fout << m;
        fout.close();
        fin.close();
        return 0;
    }
}

Programul primeste 0 puncte insa chestia interesanta e ca daca acel bloc if-else il scot si il las pur si simplu sa-l scrie pe m in fisier primeste 50 de puncte, si mai mult decat atat daca verific doar situatia cand m==1 si scriu 0 in fisier primeste tot 50 de puncte insa de la testele la care a esuat anterior culmea e ca daca le las pe amandoua if m == 0 then... else... nu merge.

Spuneti-mi si mie ce fac gresit?  Brick wall
Memorat
edu2004eu
Strain


Karma: -6
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #6 : Decembrie 11, 2006, 22:38:09 »

Cred ca ori sunt foarte obosit in seara asta ori evaluatorul are probleme serioase...
Cam asa am facut programul...
Cod:
#include <fstream>
#include <iostream>
#include <cmath>
using namespace std;
int main(void)
{
    long a,b,m,n,r;
   
    fstream fin("cmmdc.in", ios::in);
    fstream fout("cmmdc.out", ios::out);
    fin >> a;
    fin >> b;
    a = labs (a);
    b = labs (b);
   
    m = a;
    n = b;
    do
    {
       r = m % n;
       m = n;
       n = r;
    }
    while (r);
   
    if (m == 1)
    {
        fout << 0;
        fout.close();
        fin.close();
        return 0;
    }
    else /*if (m!=1) */
    {
        fout << m;
        fout.close();
        fin.close();
        return 0;
    }
}

Programul primeste 0 puncte insa chestia interesanta e ca daca acel bloc if-else il scot si il las pur si simplu sa-l scrie pe m in fisier primeste 50 de puncte, si mai mult decat atat daca verific doar situatia cand m==1 si scriu 0 in fisier primeste tot 50 de puncte insa de la testele la care a esuat anterior culmea e ca daca le las pe amandoua if m == 0 then... else... nu merge.

Spuneti-mi si mie ce fac gresit?  Brick wall

Exista o posibilitate mult mai simpla...
Eu l-am facut dar imi da doar 50 de puncte...

Cod:
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main(void) {
 int a,b,x;
 FILE *in,*out;
 in=fopen("cmmdc.in", "rt");
 out=fopen("cmmdc.out", "w+");
 fscanf(in,"%d",&a);
 fscanf(in,"%d",&b);
 while (a!=b) {
 x=abs(a-b);
 b=a;
 a=x;
 }
 //if (a==1) a=0;
 if (a!=1) fprintf(out,"%d",a);
 return 0;
}
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #7 : Decembrie 12, 2006, 09:54:57 »

Aveti dreptate... este o problema cu evaluatorul. Probabil se va rezolva in curand, aveti rabdare peacefingers
Memorat

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


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #8 : Decembrie 12, 2006, 15:39:06 »

Aveti dreptate... este o problema cu evaluatorul. Probabil se va rezolva in curand, aveti rabdare peacefingers

WOW, chiar eram socat... evaluatorul are probleme doar in cazul programului asta (CMMDC) sau cu toate programele face fite?
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #9 : Februarie 20, 2007, 21:37:36 »

Eu cred ca tu nu ai inteles exact diferenta intre notiunile de "numar prim" si "numere prime intre ele".

Un numar este prim daca este mai mare sau egal cu 2 si are doar 2 divizori, pe 1 si pe el insusi.

Doua numere sunt prime intre ele daca cmmdc-ul lor este egal cu 1.

Daca a = 1, b = 1, cmmdc(a, b) = 1, deci a si b sunt prime intre ele. Prin urmare trebuie afisat 0.
Memorat

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

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #10 : Martie 02, 2007, 15:56:24 »

am incercat si algoritmul lui euclid, si cel prin diferenta.. si primesc tot 50 de puncte..aiurea
Memorat
marcelcodrea
Nu mai tace
*****

Karma: 173
Deconectat Deconectat

Mesaje: 217



Vezi Profilul
« Răspunde #11 : Martie 02, 2007, 16:09:13 »

Cod:
    * pe prima linie: cel mai mare divizor comun pentru a si b. Daca a si b sunt numere prime intre ele, atunci se va tipari 0
Tiparesti 0 daca cmmdc este 1 ?
Memorat
cos_min
Nu mai tace
*****

Karma: 48
Deconectat Deconectat

Mesaje: 493


live


Vezi Profilul
« Răspunde #12 : Martie 02, 2007, 16:37:35 »

Da
Memorat

vid...
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #13 : Martie 27, 2007, 18:59:12 »

in sfarsit.. am luat si eu 100 Smile)) Winner 1st place
Memorat
gurney
Strain


Karma: -6
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« Răspunde #14 : Martie 31, 2007, 23:23:52 »

            Merita in general, implementarea binara la cmmdc?
Memorat
Tabara
Nu mai tace
*****

Karma: 20
Deconectat Deconectat

Mesaje: 216



Vezi Profilul
« Răspunde #15 : Martie 31, 2007, 23:59:25 »

            Merita in general, implementarea binara la cmmdc?

Depinde de limite de timp.Inca nu am intalnit o problema in care sa faca diferenta implementarea cmmdc-ului binar.Spre exemplu, la Copaci, nu e absolut nici o diferenta de timp daca fac un Cmmdc normal sau unul binar, dar oricum, probabil, la o problema cu limita de timp stransa, se vor vedea ceva diferente, desi ma indoiesc ca ar fi prea mari.  Huh

 Ok
Memorat
taloibogdan
Strain
*

Karma: 19
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #16 : Octombrie 05, 2007, 19:32:00 »

Care e problema? Cry
Imi da eroare de compilare! Cry
Sunt f.incepator in C++,in Pascal am facut-o de 100! Cry
 Read This!

Cod:
#include<iostream>
#include<fstream>
void main()
{long a,b,c;
 fstream f;
 f.open("cmmdc.in",ios::in);
f>>a>>b;
f.close();

CENZURAT

f.open("cmmdc.out",ios::out);
f<<c<<endl;
f.close();
}
« Ultima modificare: Octombrie 06, 2007, 23:22:29 de către Adrian Diaconu » Memorat
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #17 : Octombrie 05, 2007, 19:42:47 »

InfoArena nu foloseste BORLAND C, ci GNU GCC/G++, care au suferit modificari semnificative fata de primul compilator.

In primul rand, tipul functiei main trebuie sa fie int si trebuie sa returneze 0.
Cod:
int main()
{
   /*cod sursa*/
   return 0;
}

In al doilea rand, gcc si g++ nu au bibliotecile fstream.h si iostream.h. Foloseste stdio.h pentru citire (scanf/fscanf, prinft/fprintf). Mai multe informatii gasesti aici.
« Ultima modificare: Octombrie 05, 2007, 19:56:34 de către Bogdan A. Stoica » Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #18 : Octombrie 05, 2007, 21:09:54 »

In al doilea rand, gcc si g++ nu au bibliotecile fstream.h si iostream.h. Foloseste stdio.h pentru citire (scanf/fscanf, prinft/fprintf). Mai multe informatii gasesti aici.
Nu primesti eroare din cauza asta... eu am trimis multe surse cu fstream si iostream.. si merge...
« Ultima modificare: Octombrie 05, 2007, 23:57:16 de către Bitis Gabriel » Memorat
fireatmyself
Nu mai tace
*****

Karma: 36
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #19 : Octombrie 05, 2007, 23:08:20 »

imi cer scuze, inseamna ca la punctul 2 am vorbit fara acoperire. nu testasem inainte.  Whistle
Memorat

Viata e scurta. Daca nu o putem lungi, macar s-o facem lata.
taloibogdan
Strain
*

Karma: 19
Deconectat Deconectat

Mesaje: 27



Vezi Profilul
« Răspunde #20 : Octombrie 06, 2007, 13:18:18 »

 Multumesc de ajutor! Winner 1st place Winner 2nd place Winner 3rd place Banana Ok Mi-a dat
Memorat
DITzoneC
Nu mai tace
*****

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« Răspunde #21 : Octombrie 06, 2007, 23:22:52 »

Data viitoare nu mai posta toata sursa pe forum.
Memorat
mariusbv
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #22 : Decembrie 19, 2007, 20:50:16 »

eu folosesc borland c++ si cand trimit problema facuta cu algoritmul lui euclid nu imi da nici un punct pls help me
Memorat
Tabara
Nu mai tace
*****

Karma: 20
Deconectat Deconectat

Mesaje: 216



Vezi Profilul
« Răspunde #23 : Decembrie 19, 2007, 21:04:21 »

eu folosesc borland c++ si cand trimit problema facuta cu algoritmul lui euclid nu imi da nici un punct pls help me
da ce iei ? WA ? S-ar putea sa apara probleme din cauza compilatorului. Incearca sa treci pe ceva mai nou.  Thumb up Borlandul mai traieste doar pentru OJI, in rest nu cred ca il mai foloseste prea multa lume.

Spor !
Memorat
mariusbv
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #24 : Decembrie 19, 2007, 21:27:00 »

Vreau si eu un sfat ce program sa folosesc (sa fie ptr unn incepator ) si care sa mearga pe infoarena adica sa obtin si eu puncte la problemele astea usoare . Eu ma pricep doar in Borland C++ ca asa am invatat la scoala. PLs HelP me  Think Think
Memorat
Pagini: [1] 2 3 ... 6   În sus
  Imprimă  
 
Schimbă forumul:  

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