Pagini recente » Cod sursa (job #543520) | Cod sursa (job #1060669) | Cod sursa (job #3214435) | Cod sursa (job #2106915) | Cod sursa (job #68658)
Cod sursa(job #68658)
Program Fractii;
var N : longint;
raspuns : real;
procedure Citeste;
var Intrare : text;
begin
assign(Intrare,'fractii.in');
reset(Intrare);
readln(Intrare,N);
close(Intrare);
end;
function Prim(a : longint) : boolean;
var i : longint;
P : boolean;
begin
if a=2 then Prim:=true
else
begin
P:=true;
for i:=2 to trunc(sqrt(a)) do
if a mod i=0 then
begin
P:=false;
break;
end;
Prim:=P;
end;
end;
procedure Calculeaza;
var realN,reductibile,cit : real;
i : longint;
begin
realN:=N;
reductibile:=realN-1;
for i:=2 to N div 2 do
if Prim(i) then
begin
cit:=N div i;
reductibile:=reductibile+sqr(cit)-cit;
end;
raspuns:=sqr(realN)-reductibile;
end;
procedure Scrie;
var Iesire : text;
begin
assign(Iesire,'fractii.out');
rewrite(Iesire);
write(Iesire,raspuns:0:0);
close(Iesire);
end;
begin
Citeste;
Calculeaza;
Scrie;
end.