Afişează mesaje
Pagini: [1]
1  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / non 0 exit status. : Martie 14, 2011, 19:47:04
Are cineva vreo idee de ce imi da "non zero exit status." la toate testele? Programul functioneaza bine pe calculatorul meu... Cry
2  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 003 Fractii : Februarie 06, 2010, 16:41:41
da...intradevar...sunt cam multe "exceptii" mai ales pentru n foarte mare... Very Happy
3  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 003 Fractii : Februarie 03, 2010, 19:51:02
Imi cer scuze in primul rand ca am raspuns asa de greu
In ceea ce priveste raspunsul cerut, poti sa alegi o valoare pentru n si sa verifici pur si simplu formulele...Nu vad ce alt exemplu as putea sa dau... Huh

Am gandit in felul urmator:

Fractii cu numaratorul par:
1) Stim ca pana la n sunt n div 2 numere pare...
2) Pentru un n par sunt n div 2 fractii cu numaratorul par care se pot simplifica...deci mai raman n - n div 2 care nu se pot simplifica...
din 1 si 2 => (n div 2) * (n - n div 2) fractii cu numarator par care se pot simplifica...

Fractii cu numaratorul impar:
Pentru x care trece prin toate numerele impare de la 3 la n:
1) Sunt n div x fractii care au numaratorul si numitorul divizibile intre ele...raman deci n - n div x care nu se simplifica.
Acest calcul l-am facut in "while".

Mai raman deci doar cateva exceptii...(daca am gandit bine...si e posibil sa fi gresit, nu neg)
Exceptiile sunt de forma: 6/3 6/9 9/3 9/6 10/5
4  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 003 Fractii : Ianuarie 31, 2010, 13:22:06
defapt tot ce calculez in plus sunt acele exceptii de care ziceam, formulele pe care le-am gasit sunt pentru fractii ireductibile...deci daca cumva pot sa scad exceptiile, rezolvarea ar fi mai eficienta decat altele (am o singura structura repetitiva)... Wink
Problema este ca nu vad un tipar pentru exceptii, nu gasesc o formula...
5  infoarena - concursuri, probleme, evaluator, articole / Arhiva de probleme / Răspuns: 003 Fractii : Ianuarie 30, 2010, 15:43:30
M-am apucat sa rezolv problema si mi-e venit o idee...(nu stiu daca se poate rezolva asa)
Am ajuns la concluzia ca
nr fractii = n + suma_fractiilor_cu_numarator_par + suma_fractiilor_cu_numarator_impar ;
unde:
suma_fractiilor_cu_numarator_par = (n div 2) * (n - n div 2)
suma_fractiilor_cu_numarator_impar  = (n - n div 3) + (n - n div 5) + (n - n div 7)... + (n - n div i)
i trecand prin toate numerele impare <= n
Mai ramane doar sa scad exceptiile: 6/3 6/9 9/3 9/6 10/5 12/3 ...
adica fractiile cu numitor impar si care se pot simplifica...dar aici m-am impotmolit
Oare se poate duce la capat problema prin metoda asta?
Asta e sursa din care nu am scazut exceptiile:
Cod:
program fractii;
var f:text;
    n,i,s:1..1000000;
begin
  assign(f,'fractii.in');
  reset(f);
  readln(f,n);
  close(f);
  assign(f,'fractii.out');
  i:=3;
  s:=n+(n div 2)*(n - n div 2);
  while i<=n do
    begin
      s:=s+(n-n div i);
      i:=i+2;
    end;
  rewrite(f);
  writeln(f,s);
  close(f);
end.

Stiu ca nu functioneaza pe numere foarte mari...nu asta ma intereseaza ci daca se poate rezolva asa sau m-am chinuit degeaba (am umplut cateva pagini de formule)...
Pagini: [1]
Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines