|
•PlayLikeNeverB4
|
 |
« Răspunde #26 : August 15, 2011, 14:22:21 » |
|
Nu era necesar sa generezi numere prime pentru factorizare.
|
|
|
Memorat
|
|
|
|
•scipianus
|
 |
« Răspunde #27 : Iulie 16, 2012, 13:01:23 » |
|
Cred ca e posibil sa existe un test in care nu se respecta restrictia Y<=100.000.000  Am verificat cu sursa asta punand assert(X<=10000 && Y<=100000000); si ia KBS 6. Sursa aceea ( aici) fara assert ia incorect deoarece eu precalculam numerele prime mai mici ca 10000 (mai mici ca radical din Y). 
|
|
|
Memorat
|
|
|
|
•lucian666
Client obisnuit

Karma: 16
Deconectat
Mesaje: 84
|
 |
« Răspunde #28 : Octombrie 30, 2012, 20:44:32 » |
|
 Buna seara.Cred ca exista unele teste care nu respecta cerinta din enunt ca Y<=100.000.000 deoarece am pus assert(x<=10000 && y<=1000000000) si iau Killed By Signal 6  L.E .Am gasit o greseala in programul meu si de aia luam 0 pct.Oricum ramane valabila observatia ca exista unele teste care au y > 100000000. O seara placuta!!!!
|
|
« Ultima modificare: Octombrie 30, 2012, 22:02:44 de către Vasilut Lucian »
|
Memorat
|
|
|
|
•DEYDEY2
Strain
Karma: 1
Deconectat
Mesaje: 49
|
 |
« Răspunde #29 : Ianuarie 17, 2013, 17:58:56 » |
|
pfff la problema asta chiar nu imi dau seama ce ar putea fi gresit  fac ca si in descriere si nici macar un test nu puncteaza, desi testele care mi le-am dat eu merg. Vreo sugestie/idee?
|
|
|
Memorat
|
|
|
|
•S7012MY
|
 |
« Răspunde #30 : Ianuarie 17, 2013, 19:49:58 » |
|
Incearca sa rezolvi problemele si singur. Nu prea te ajuta daca primesti de fiecare data teste 
|
|
|
Memorat
|
|
|
|
•DEYDEY2
Strain
Karma: 1
Deconectat
Mesaje: 49
|
 |
« Răspunde #31 : Ianuarie 18, 2013, 16:43:13 » |
|
nu am cerut teste... am cerut o idee...
|
|
|
Memorat
|
|
|
|
•Sagunistu
Strain
Karma: 0
Deconectat
Mesaje: 7
|
 |
« Răspunde #32 : Noiembrie 29, 2013, 21:36:06 » |
|
De ce nu merge codul acesta? #include <iostream> #include <fstream> #include <cmath>
using namespace std;
long long cmmdc(long long a,long long b) { long long c; while(b) { c=a%b; a=b; b=c; } return a; }
int main() { ifstream fin("divmul.in"); ofstream fout("divmul.out"); long long t,i,x,y,k,a,b,c,nr; long long prod; fin>>t; for(k=1;k<=t;k++) { nr=0; fin>>x>>y; prod=x*y; for(i=1;i*i*x*x<=prod;i++) { a=i*x; if(prod%a==0) { b=prod/a; c=cmmdc(a,b); if(c==x&&a*b/c==y) { nr+=2; if(a*a==prod) nr--; } } } cout<<nr<<"\n"; } return 0; }
|
|
|
Memorat
|
|
|
|
•ovidiuz98
Strain
Karma: 0
Deconectat
Mesaje: 4
|
 |
« Răspunde #33 : Iunie 17, 2014, 23:22:05 » |
|
Am facut problema cum scrie in articol,insa iau TLE. Ma poate ajuta cineva ?
#include <fstream> #include <cmath>
using namespace std; long int t,n,x,k,y,nr,i,v[50500],a[50500],x1,yy; int main() { ifstream f("divmul.in"); ofstream g("divmul.out"); f>>t; for(k=1;k<=t;k++) { f>>x>>y;x1=x;yy=y;nr=0; for(i=2;i<=sqrt(x) && x1>1;i++) while(x1%i==0) v++,x1/=i; if(x1==x) v[x1]=1; for(i=2;i<=sqrt(y) && yy>1;i++) { if(v) a=v,yy/=pow(i,v); while(yy%i==0) a++,yy/=i; if(a>v) nr++; a=0;v=0; } g<<(1 << nr)<<'\n'; } f.close();g.close(); return 0; }
|
|
|
Memorat
|
|
|
|
•Vman
|
 |
« Răspunde #34 : Iunie 18, 2014, 00:18:18 » |
|
In primul rand scoate sqrt() din for. Conditia aia se evalueaza la fiecare pas, iar radicalul e o operatie foarte lenta. In plus cred ca ai putea sa te opresti cand i*i > x1, pentru ca altfel x1 % i nu va fi niciodata 0. La fel si pt y. Cu v si a nu prea ma prind care e treaba ca sunt declarati vectori dar sunt folositi ca variabile...
|
|
|
Memorat
|
|
|
|
•klamathix
|
 |
« Răspunde #35 : Iunie 18, 2014, 00:33:54 » |
|
Nu le foloseste ca variabile, dar daca nu lasi spatii "[i ]" inseamna italics 
|
|
|
Memorat
|
|
|
|
|