Serezhkin
?>

XOR У вас есть массив чисел длиною "N". Нужно найти XOR всех чисел. Входные данные: (1 ≤ n ≤ 10000), где каждый элемент в массиве в промежутке (-10000 ≤ a[i] ≤ 10000) Выходные данные: Выведите XOR всех чисел Пример 1 Ввод: 10 71 39 83 41 67 55 89 5 45 77 Вывод: 82

Информатика

Ответы

iv1as2
//PascalABC.NET 3.2 сборка 1318

//Вариант по формуле Бине

Var
  n,fibn:real;
  i:integer;
begin
readln(n);
if n<=0 then writeln('Не существует чисел Фиббоначи меньше 0')
else
  begin
  i:=0;
    while fibn<n do
      begin
        fibn:=(power((1+sqrt(5))/2,i)-power((1-sqrt(5))/2,i))/sqrt(5);
        inc(i);
      end;
   writeln((power((1+sqrt(5))/2,i)-power((1-sqrt(5))/2,i))/sqrt(5)-1);
     end;
 end.

//В лоб

Var
  sum,n,buf,fib0,fib1:integer;
 
 function fibb(fib0,fib1:integer):integer;
  begin
    result:=fib0+fib1;
  end;

begin
fib0:=0;
fib1:=1;
readln(n);
if n<=0 then
   writeln('Не существует чисел Фиббоначи меньше 0')
else
  begin
    if fibb(fib0,fib1)>=n then sum:=0 else
    begin
      while fibb(fib0,fib1)<n do
        begin
         buf:=fib1;
         fib1:=fibb(fib0,fib1);
         fib0:=buf;
        end;
      sum:=fibb(fib1,fibb(fib0,fib1))-1;
   end;
   writeln(sum);
  end;
end.

Пример ввода:
12
Пример вывода:
20

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

XOR У вас есть массив чисел длиною "N". Нужно найти XOR всех чисел. Входные данные: (1 ≤ n ≤ 10000), где каждый элемент в массиве в промежутке (-10000 ≤ a[i] ≤ 10000) Выходные данные: Выведите XOR всех чисел Пример 1 Ввод: 10 71 39 83 41 67 55 89 5 45 77 Вывод: 82
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

preida-2
enot1975
snabdonm501
Olga-Lev1160
СергейНиколаевич
Andreeva
kitoova
ritckshulga20112
daskal83
Astrians
klimovala2
Головин662
Stasyadoma
Malenyuk
Ulianev77