Старик хоттабыч может совершить чудо вырвав из своей бороды один волос при этом на месте двух вырванных волос вырастает 1 сколько всего чудес может совершить старик хоттабыч если первоначально в его бороде было 1000 волос
Var A,S:integer; begin A:=1000; While not(A=0) do begin S:=S+A; If (A mod 2=1) and not(A=1) then begin A:=A+1; S:=S-1; end; A:=A div 2; end; Writeln(S); end.
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016 function IsPrime(n:integer):boolean; begin if n<4 then Result:=True else begin var found:= (n mod 2 = 0); var p:=3; while (not found) and (sqr(p)<=n) do begin found:=(n mod p = 0); p+=2 end; Result:=not found end end;
begin Writeln('k=',ArrRandom(ReadInteger('n='),1,999).Println. Where(x->IsPrime(x)).Count) end.
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016 procedure IsPrime(n:integer; var res:boolean); begin if n<4 then res:=True else begin var found:= (n mod 2 = 0); var p:=3; while (not found) and (sqr(p)<=n) do begin found:=(n mod p = 0); p+=2 end; res:=not found end end;
begin var a:=ArrRandom(ReadInteger('n='),1,999); a.Println; var k:=0; var prime:boolean; foreach var e in a do begin IsPrime(e,prime); if Prime then Inc(k) end; Writeln('k=',k) end.
begin
A:=1000;
While not(A=0) do
begin
S:=S+A;
If (A mod 2=1) and not(A=1) then
begin
A:=A+1;
S:=S-1;
end;
A:=A div 2;
end;
Writeln(S);
end.