•stefan688
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #100 : Aprilie 16, 2013, 19:07:09 » |
|
WTF e bugat compilatorul ? #include <fstream> using namespace std; int main() { int a, b, r, cmmdc; ifstream fin(cmmdc.in"); ofstream fout("cmmdc.out"); fin>>a>>b; r=a%b; while(r) { a=b; b=r; r=a%b; } if(b<30000) fout<<b; }
Imi da 0 pct. ( l-am testat de 5-10 ori si functioneaza perfect. Chiar am inclus si o conditie acolo b<30.000 Foloseste tag-ul code cand postezi cod. Si foloseste un limbaj adecvat.
|
|
« Ultima modificare: Aprilie 17, 2013, 00:09:45 de către Paul-Dan Baltescu »
|
Memorat
|
|
|
|
•veleandu
|
 |
« Răspunde #101 : Aprilie 16, 2013, 23:25:10 » |
|
Daca a si b sunt numere prime intre ele, atunci se va tipari 0 Cu placere 
|
|
|
Memorat
|
|
|
|
•Pantea_ICHB
Strain
Karma: -1
Deconectat
Mesaje: 2
|
 |
« Răspunde #102 : Mai 10, 2013, 15:57:15 » |
|
intra in long long??
|
|
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #103 : Mai 10, 2013, 19:30:46 » |
|
Intra pe int.
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•Pitiqu
Strain
Karma: 0
Deconectat
Mesaje: 3
|
 |
« Răspunde #104 : Iulie 05, 2013, 21:02:29 » |
|
Salut! Sunt nou pe comunitatea infoarena si tin sa multumesc anticipat oricui ma va ajuta in aceasta problema si in urmatoarele, caci sigur se vor mai ivi si nu-mi voi gasi singur raspuns...
Acesta este codul me sursa:
#include <fstream> using namespace std; int main() {int a,b; ifstream f("cmmdc.in"); ofstream g("cmmdc.out"); f>>a>>b; if(a==b) {g<<0;} else { while(a!=b) {if (a>b) a=a-b; else b=b-a; } g<<a; } return 0; }
Primesc numai 50 din cele 100 de puncte si am inteles ca ar trebui cumva ca ar trebui facut cu imparitri. Poate cineva sa imi explice sau sa lase algoritmul pentru acest program folosind impartirile? Pur si simplu nu pot sa-l concep.
|
|
|
Memorat
|
|
|
|
•superman_01
Client obisnuit

Karma: 14
Deconectat
Mesaje: 52
|
 |
« Răspunde #105 : Iulie 05, 2013, 21:08:10 » |
|
merge si cu scaderi doar ca tu ratezi un caz , atunci cand numerele sunt prime intre ele ( adica a devine 1 ) pune asa : if( a == 1 ) g<<0; else g<<a; si problema e rezolvata . Bafta !
|
|
|
Memorat
|
|
|
|
•Pitiqu
Strain
Karma: 0
Deconectat
Mesaje: 3
|
 |
« Răspunde #106 : Iulie 05, 2013, 21:29:38 » |
|
#include <fstream> using namespace std; int main() {int a,b; ifstream f("cmmdc.in"); ofstream g("cmmdc.out"); f>>a>>b; if(a==1 || b==1 || a==0) {g<<0;} else { while(a!=b) {if (a>b) a=a-b; else b=b-a; } g<<a; } return 0; }
Tot 50%... sau poate nu am pus cazul unde trebuia?
|
|
|
Memorat
|
|
|
|
•superman_01
Client obisnuit

Karma: 14
Deconectat
Mesaje: 52
|
 |
« Răspunde #107 : Iulie 05, 2013, 21:41:15 » |
|
nu ai pus cazul unde trebuia ...la final ( dupa scaderi ) a -ul tau reprezinta defapt cel mai mare divizor comun pentru a si b . Deci daca el e 1 inseamna ca sunt prime intre ele, si afisezi 0.
|
|
|
Memorat
|
|
|
|
•Pitiqu
Strain
Karma: 0
Deconectat
Mesaje: 3
|
 |
« Răspunde #108 : Iulie 05, 2013, 22:24:46 » |
|
Aaah. Prime intre ele. Am inteles! Mersi mult!
|
|
|
Memorat
|
|
|
|
•Pantea_ICHB
Strain
Karma: -1
Deconectat
Mesaje: 2
|
 |
« Răspunde #109 : Octombrie 07, 2013, 11:26:42 » |
|
|
|
|
Memorat
|
|
|
|
•alcholistu
Strain
Karma: -2
Deconectat
Mesaje: 1
|
 |
« Răspunde #110 : Noiembrie 21, 2013, 19:14:37 » |
|
100 de puncte : #include <fstream> using namespace std; int main () { ifstream f("cmmdc.in"); ofstream g("cmmdc.out"); int a,b,c; f >> a >> b; while (b) { c=b; b=a%b; a=c; } if (a==1) a=0; g << a; }
Atentie , va da 50 de pct pt ca trebuie sa se arate 0 daca sunt prime intre ele...
|
|
|
Memorat
|
|
|
|
•MyrmekoMe
Strain
Karma: -1
Deconectat
Mesaje: 4
|
 |
« Răspunde #111 : Decembrie 16, 2013, 19:22:06 » |
|
la mine merge :p
|
|
|
Memorat
|
|
|
|
•aserg
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #112 : Ianuarie 31, 2014, 17:25:58 » |
|
Am facut programul am verificat chiar si valorile de se dau in cerinta 8 si 12 si cmmdc fiind 4,dar cand il pun imi da 0 puncte.Programul l-am facut in C++. (Visual Studio 2012).
#include<iostream> using namespace std; int cmmdc(int a, int b) { while(a!=b) { if(a>b) a=a-b; else b=b-a; } return a; } void main() { int a,b; cout<<"a="; cin>>a; cout<<"b="; cin>>b; cout<<"Cel mai mare div comun dintre a si b este:"<<cmmdc(a,b)<<endl; system("pause"); }
|
|
|
Memorat
|
|
|
|
•klamathix
|
 |
« Răspunde #113 : Ianuarie 31, 2014, 18:07:38 » |
|
Trebuie sa respecti exact formatul de iesire. Ti se cere doar valoarea celui mai mare divizor comun, nu trebuie sa scrii introducerea in cuvinte  .
|
|
|
Memorat
|
|
|
|
•costty94
Strain
Karma: 0
Deconectat
Mesaje: 2
|
 |
« Răspunde #114 : Februarie 10, 2014, 17:38:53 » |
|
De ce imi da eroarea asta? Killed by signal 11(SIGSEGV)
|
|
|
Memorat
|
|
|
|
•radunec
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #115 : Februarie 21, 2014, 20:47:50 » |
|
de ce nu mi se verifica sursa?
|
|
|
Memorat
|
|
|
|
•barabasi_csongor
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #116 : Februarie 26, 2014, 16:28:03 » |
|
E problema cu evaluatoru.Pentru cei ce nu reusesc sa rezolve problema asta aici e o rezolvare de 100 de puncte.
#include <cstdio>
using namespace std;
long long int euclid(long long int a,long long int b) { if(b==0) return a; return euclid(b,a%b); }
int main() {freopen("cmmdc.in","r",stdin); freopen("cmmdc.out","w",stdout); long long int a,b; scanf("%lld%lld",&a,&b); long long int x=euclid(a,b); if(x==1) printf("0"); else printf("%lld",x); }
|
|
|
Memorat
|
|
|
|
•gedica
Strain
Karma: -7
Deconectat
Mesaje: 7
|
 |
« Răspunde #117 : Martie 07, 2014, 13:24:13 » |
|
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  Iti sugerez Code::Blocks IDE....dar daca ai Mac poti incerca XCode... Ps: La olimpiada trebuie sa codezi in Code::Blocks 
|
|
|
Memorat
|
|
|
|
•theodor.moroianu
|
 |
« Răspunde #118 : Martie 29, 2014, 19:38:12 » |
|
foarte ciudat sa returneze 0 in loc de 1 daca cele 2 nr sunt prime intre ele... 
|
|
|
Memorat
|
|
|
|
•wapmaster13
Strain
Karma: -1
Deconectat
Mesaje: 2
|
 |
« Răspunde #119 : Mai 30, 2014, 11:59:21 » |
|
si mie imi da dea 50 puncte pt un program bun,dar asa se intampla cand uiti sa inchizi fisierele text
|
|
|
Memorat
|
|
|
|
•andreidei333
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #120 : Iunie 06, 2014, 15:13:32 » |
|
a fost usoara problema dar am avut probleme cand iam dat run(am code bloks) 
|
|
|
Memorat
|
|
|
|
•smircea1
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #121 : Iulie 29, 2014, 13:58:53 » |
|
ce spuneti de ideea mea?  ------------------------ #include <fstream> using namespace std; ifstream f("cmmdc.in"); ofstream g("cmmdc.out"); int main() { int a,b,i; f>>a>>b; f.close(); if(a>b) { i=a;a=b;b=i; } for(i=a;i>=2;i--) if(b%i==0 && a%i==0) { g<<i<<endl; return 1; } g<<0; g.close(); return 0; }
|
|
« Ultima modificare: Iulie 29, 2014, 14:59:33 de către Stoica Mircea-Madalin »
|
Memorat
|
|
|
|
•stefan_gheorghe
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #122 : Septembrie 27, 2014, 13:47:53 » |
|
ce e grasit la programul acesta? f>>a>>b; while (a != b) { if (a > b) { a=a-b; } else { b=b-a; } } if (a!=1) { g<<a; } else { g<<'0'; } return a; de fiecare data cand il introduc mi se dau 0 puncte.
|
|
|
Memorat
|
|
|
|
•valen.valentin
Strain
Karma: -2
Deconectat
Mesaje: 15
|
 |
« Răspunde #123 : Septembrie 27, 2014, 15:52:32 » |
|
Incearca sa inveti algoritmul lui euclid. http://www.infoarena.ro/problema/euclid2daca vrei sa mearga programul tau acolo in loc de return a ar trebuii return 0.
|
|
« Ultima modificare: Septembrie 27, 2014, 16:10:31 de către Valentin Valeanu »
|
Memorat
|
|
|
|
•NullVekt0r
Strain
Karma: 0
Deconectat
Mesaje: 1
|
 |
« Răspunde #124 : Octombrie 01, 2014, 11:40:14 » |
|
Salut,am scris programul ,dar ni functioneaza:( cineva pot sa ajut ,pentru ca nu stiu ce este problema ?
#include <fstream> #include "stdio.h" using namespace std;
int lnko(int z,int y) { int tmp; if (z<0) z= -z; if (y<0) y= -y; while(y > 0) { tmp = y; z = z % y; z = tmp; } return z; } int main() { ifstream f("cmmdc.in"); ofstream g("cmmdc.out"); int a,b,e; f >> a >> b; e = lnko (a,b); if (e>30000) return 0; else{ g << e << '\n'; g.close(); return 0; }}
|
|
|
Memorat
|
|
|
|
|