12. Nulių ir vienetų seka. 
Paprasčiausias šio uždavinio sprendimo kelias – generuoti nulių ir vienetų seką pagal sąlygoje pateiktas taisykles, užrašyti ją į masyvą ir perskaityti iš masyvo reikiamą elementą. Tačiau šitoks sprendimas neekonomiškas, nes reikia didelio masyvo sekai įsiminti. Ieškome racionalaus sprendimo.
Pirmiausia pastebime, kad kiekvieną kartą sekos ilgis dvigubėja. Antra, invertuotoji sekos, kurios ilgis 2i+1, pusė prasideda (2i + 1) nariu. Šis narys visada lygus 1 (invertuotas pirmasis sekos narys). Pavyzdžiui:
0	1	1	0	1	0	0	1	

                                8
čia i = 2; sekos, kurios ilgis 23 = 8, antroji pusė prasideda 5-uoju nariu ir šis narys yra 1.
Kiekvienas (2i + m) narys lygus invertuotam m-ajam nariui. 
Taigi norint rasti n-ąjį sekos narį reikia iš n atimti kiek galima didesnį dvejeto laipsnį 2i < n. Gautas rezultatas rodys, iš kurio nario invertuojant gautas šis narys. Atimtį reikia kartoti mažinant atėminį 2i, kol n taps lygus 1. Lygiagrečiai skaičiuojamas invertavimų skaičius. Kai galų gale n = 1, šis skaičius rodys, kiek kartų invertavus pirmąjį sekos narį gaunamas invertuotas narys. Jei invertavimų skaičius lyginis, tai tas narys sutampa su pirmuoju sekos nariu (t. y. lygus 0). Jei invertavimų skaičius nelyginis, tai gaunamas narys, lygus invertuotam pirmajam nariui (t. y. lygus 1). 
Panagrinėkime pavyzdį. Duota seka:
0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0	1	1	0	1	0	0	1	1	0	0	1	0	1	1	0	
1				5								13				
Pavyzdžiui, duota n = 13. Randame didžiausią i tokį, kad 2i < 13. Jis lygus 3. Taigi tryliktasis sekos narys lygus invertuotam penktajam (13 - 23 = 5). O penktasis narys lygus invertuotam pirmajam (5 - 22 = 1). Taigi tryliktasis sekos narys lygus dukart invertuotam pirmajam nariui – nuliui.
Šis sekos ieškojimo algoritmas panašus į dešimtainio skaičiaus užrašymo dvejetainiu algoritmą. Ten skaičius skaidomas dvejeto laipsniais ir pradedama skaidyti nuo žemiausių laipsnių. Kiekvienas dvejeto laipsnis tokiame skaidinyje atitinka vienetą dvejetainiame skaičiaus užraše. Taigi belieka suskaičiuoti, kiek vienetų turi skaičiaus n - 1 dvejetainis užrašas ir randame n-ojo sekos nario reikšmę. 
Gali kilti klausimas, kodėl skaičiuojame vienetus skaičiaus n - 1, o ne skaičiaus n dvejetainiame užraše. Taip darome todėl, kad ieškant sekos nario reikia rasti tokį didžiausią i, kad būtų tenkinama nelygybė 2i < n (griežtai mažiau) , o skaičių n užrašant dvejetainiu, ieškome tokio i, kad galiotų 2i  n (mažiau ar lygu). 

function narys (n: integer): integer;
{ invertuotas sekos n-asis narys }
  var vien: integer;
begin
  vien := 0;
  n := n - 1;
  while n > 0 do
    begin
      vien := vien + n mod 2;
      n := n div 2
    end;
  if odd (vien)
     then narys := 1
     else narys := 0
end;

Testo nr.	Pradinis duomuo	Rezultatas	Paaiškinimai	
1	1	0	Paprasčiausias atvejis	
2	14	1	n - 12 = 1112 = 1310; dvejetainiame n - 1 užraše nėra nulių	
3	22	1	n - 12 = 101012 = 2110; dvejetainiame n - 1 užraše yra nulių, rezultatas – triskart invertuotas pirmasis sekos narys	
4	37	0	n - 12 = 10010012 = 3610; dvejetainiame n - 1 užraše yra nulių, rezultatas sutampa su pirmuoju sekos nariu (t. y. lygus dukart invertuotam pirmajam sekos nariui)	
5	29785	1	n - 12 = 1110100010110002 = 2978410; pradinis duomuo – didelis skaičius