<span>воспользуемся формулой I= log2N
</span><span>Имеем I= log28= 3 бита.</span>
Var x,y,a,b:integer;
begin
write('x, y:');
readln(x,y);
if (x>0)and(y>0) then
begin
a:=x; b:=y;
while a<>b do
if a>b then a:=a-b else b:=b-a;
writeln('НОД(',x,',',y,') = ',a);
end
else writeln('Ошибка ввода');
end.
Пример:
<span>x, y:
50 125
НОД(50,125) = 25</span>
Def prod(x, y):
r = 0
if x == 0 or y == 0:
return 0
step = 1 if y > 0 else -1
for _ in range(0, y, step):
r += x
if y > 0:
return r
else:
return -r
a, b = (int(n) for n in raw_input().split())
print "{} * {} = {}".format(a, b, prod(a, b))
<span>//PascalABC.NET
//Версия 3.3, сборка 1634 (14.02.2018)</span>
begin
var a:=Arr(BigInteger(ReadInteger('x->'))); var sum:=BigInteger(a[0]);
for var i:=1 to ReadInteger('n->')-1 do begin a:=a+arr(sqr(a[i-1])); sum+=a[i]; end;
a.Println; sum.Println;
end.
Пример:
x-> 4
n-> 5
4 16 256 65536 4294967296
4295033108