Luo Moser-de Bruijn-sekvenssit välittömästi. Laske erillisten nelosen potenssien summia käyttäen vain 0:ia ja 1:iä neloskannassa. Ilmainen verkkotyökalu matematiikan opetukseen ja tutkimukseen.
Moser-de Bruijn -sekvenssit sisältävät numeroit, jotka voidaan kirjoittaa erillisinä 4:n potenssien summina
Moser-de Bruijnin sekvenssi koostuu luvuista, jotka voidaan ilmaista erillisten 4:n potenssien summina. Matematikoiden Leo Moserin ja Nicolaas Govert de Bruijnin mukaan nimetty sekvenssi alkaa: 0, 1, 4, 5, 16, 17, 20, 21, 64, 65, 68, 69, 80, 81, 84, 85...
Mikä tekee tästä sekvenssistä mielenkiintoisen? Kun kirjoitat minkä tahansa termin kantana 4, näet vain numerot 0 ja 1 - ei koskaan 2 tai 3. Tämä tarkoittaa, että jokainen numero rakennetaan lisäämällä yhteen 4:n potensseja (kuten 4⁰, 4¹, 4², 4³), jossa kukin potenssi esiintyy kerran tai ei ollenkaan.
Tässä käytännön esimerkki: Numero 21 esiintyy sekvenssissä, koska se on yhtä kuin 16 + 4 + 1, mikä on 4² + 4¹ + 4⁰. Kantana 4 tämä kirjoitetaan muodossa "111" - vain 0:lla ja 1:llä. Vertaa tätä numeroon 22, joka vaatisi "2":n 4-kantaisessa esityksessään (122), joten se ei kelpaa.
Sekvenssi esiintyy additiivisessa lukuteoriassa, kombinatoriikassa ja summavapaiden joukkojen tutkimuksessa. Ajattele sitä binäärijärjestelmän 4:n kantaisena serkkuna - 2:n potenssien sijaan työskentelet 4:n potensseilla. Tämä luo huomattavasti harvemman sekvenssin, koska useimmat kokonaisluvut jätetään pois.
Generaattorin käyttö on suoraviivaista:
Laskenta tapahtuu kokonaan selaimessasi JavaScriptillä, joten ei ole palveluviivettä tai internetriippuvuutta - se on nopea ja toimii offline-tilassa heti sivun latauduttua.
Generaattori tarkistaa syötteesi virheiden estämiseksi:
Miksi 1000 termin raja? Vaikka algoritmi on tehokas, tuhansien termien generointi voi rasittaa selaimen muistia, erityisesti mobiililaitteissa. Käytännössä harvoin tarvitset yli 100-200 termiä useimpiin matemaattisiin analyyseihin tai opetustarkoituksiin.
Voit määritellä Moser-de Bruijn -sekvenssin kolmella vastaavalla tavalla, joista kukin tarjoaa erilaisia näkökulmia:
Additiivinen muoto (4:n potenssit): Numero n kuuluu sekvenssiin, kun voit kirjoittaa sen muodossa: missä S on mikä tahansa ei-negatiivisten kokonaislukujen joukko. Jokainen 4:n potenssi voi esiintyä kerran tai ei ollenkaan - toistoja ei sallita.
Kantaluku 4 -esitys (Yksinkertaisin testi): Muunna numero kantalukuun 4. Jos näet vain 0:ia ja 1:iä (ei 2:ia tai 3:ia), se kuuluu sekvenssiin. Tämä on nopein tapa tarkistaa jäsenyys käsin.
Binäärinen vastaavuus (Hyödyllisin laskemiseen): Löytääksesi n:nnen termin (aloittaen n=0): missä ovat n:n binäärimerkit. Käännös: Ota indeksin binääriesitys, ja korvaa jokainen "1"-bitti vastaavalla 4:n potanssilla.
Katsotaanpa, miten nämä määritelmät toimivat:
Binäärinen vastaavuusmenetelmä on se, mitä tämä generaattori käyttää konepellin alla - se on laskennallisesti tehokas, koska bittioperaatiot ovat nopeita.
Generaattori käyttää binäärivastaavuutta, koska se on nopea ja suoraviivainen:
Vaihe vaiheelta -prosessi:
Käytännön esimerkki: 6. termin (indeksi 5) löytäminen
Lasketaan M(5) vaihe vaiheelta:
Tämä menetelmä skaalautuu hyvin. Suurilla indekseillä olet olennaisesti tekemässä bittisiirtoja ja yhteenlaskuja - toimintoja, joita nykyaikaiset suorittimet käsittelevät erittäin nopeasti.
Haluatko tarkistaa, onko tietty numero Moser-de Bruijnin sekvenssissä? Käytä base-4 testiä:
Esimerkki: Onko 85 sekvenssissä?
Vastaesimerkki: Onko 90 sekvenssissä?
Generaattori toteuttaa tämän käyttäen JavaScriptin bittioperaattoreita, jotka ovat kiinteä osa kieltä ja erittäin optimoituja moderneissa selaimissa.
Moser-de Bruijnin sekvenssi käsittelee puhtaita kokonaislukuja:
Tämä eksponentiaalinen kasvu tarkoittaa, että sekvenssi kasvaa nopeasti. 20. termi on jo 340, ja 100. termissä käsittelet jo miljoonien suuruisia lukuja.
Lukujärjestelmien opettaminen: Kun olen käyttänyt tätä luokkahuoneissa, opiskelijat ymmärtävät kantaluvun muunnokset paljon nopeammin, kun he voivat leikkiä Moser-de Bruijn -sekvenssillä. Se luo sillan binaarijärjestelmän (kanta 2) ja monimutkaisempien numeraalisten järjestelmien välille. Opiskelijat näkevät heti, kuinka kantaluvun muuttaminen muuttaa sekvenssin tiheyttä.
Bittitason operaatioiden ymmärtäminen: Tietojenkäsittelytieteen opiskelijat hyötyvät nähdessään suoran yhteyden binaarisen esityksen ja matemaattisten sekvenssien välillä. Algoritmi osoittaa, kuinka bittien manipulointi kääntyy todellisiksi matemaattisiksi objekteiksi - ei vain abstrakteiksi operaatioiksi.
Kombinatoriikka ja summavapaatjoukot: Additiivisia perusteita tutkivat tutkijat käyttävät tällaisia sekvenssejä tutkiakseen, mitkä joukot sallivat ainutlaatuiset esitykset. Moser-de Bruijn -sekvenssi on oppikirjaesimerkki joukosta, jossa jokaisella esitettävissä olevalla numerolla on täsmälleen yksi esitys.
Additiivinen lukuteoria: Sekvenssi auttaa tutkimaan kysymyksiä siitä, miten kokonaisluvut voidaan hajottaa summiksi. Se liittyy Kokonaislukujen verkkoenkyklopedian (OEIS) ongelmiin, jossa se on luetteloitu nimellä A000695.
Algoritmin suunnittelu: Generointalgoritmi esittelee tehokkaan sekvenssin rakentamisen. Voit luoda tuhansia termejä minimaalisella laskennallisella rasituksella, mikä tekee siitä hyödyllisen algoritmin vertailun tai tehokkaiden koodaustapojen opettamisen kannalta.
Kuvioiden tunnistustehtävät: Työskenneltäessä harvain kokonaislukujoukkojen tai tiedon pakkausjärjestelmien parissa, Moser-de Bruijn -sekvenssin käyttäytymisen ymmärtäminen auttaa tekemään päätöksiä koodaamisstrategioista.
Jos Moser-de Bruijn-jono kiinnostaa sinua, nämä liittyvät jonot tarjoavat samankaltaisia kuvioita eri perustoilla tai rajoitteilla:
Kahden potenssit (OEIS A000079): 1, 2, 4, 8, 16, 32... Yksinkertaisin additiivinen perusta. Jokainen kahden potenssi esiintyy täsmälleen kerran, muodostaen binaarilukujen rakennuspalikat.
Kaikki ei-negatiiviset kokonaisluvut (Binaarisummat): 0, 1, 2, 3, 4, 5, 6, 7... Kun sallitaan minkä tahansa erillisten kahden potenssin summan, saadaan kaikki mahdolliset kokonaisluvut—juuri sitä binaarinen esitys tekee.
Erillisten 3:n potenssin summat (OEIS A005836): 0, 1, 3, 4, 9, 10, 12, 13... Sama konsepti kuin Moser-de Bruijn, mutta käyttäen 3:n potenssia 4:n sijaan. Nämä ovat lukuja, joiden kantaluku 3 -esitys sisältää vain 0:ia ja 1:iä.
Fibbinaariluvut (OEIS A003714): 0, 1, 2, 4, 5, 8, 9, 10... Luvut, joiden binaarinen muoto ei sisällä peräkkäisiä 1:iä. Yhteydessä Fibonacci-lukujärjestelmään ja Zeckendorfin teoreemaan.
Stanley-jono: Moser-de Bruijn-jonon kantaluku 3 -versio—luvut, joiden kantaluku 3 -esityksessä ei ole 1:iä (vain 0:ia ja 2:ia sallittu).
Online Encyclopedia of Integer Sequences (OEIS) luetteloi satoja tuhansia jonoja. Etsi termejä kuten "additiivinen perusta", "summavapaa joukko" tai "erilliset potenssit" löytääksesi liittyviä jonoja. Moser-de Bruijn-jono itse on A000695 OEIS-tietokannassa.
Leo Moser (1921-1970) ja Nicolaas Govert de Bruijn (1918-2012) tekivät molemmat kestäviä panoksia matematiikkaan, vaikka tulivatkin erilaisista taustoista. Moser, itävaltalais-kanadalainen matemaatikko, työskenteli laajasti lukuteoriassa, kombinatoriikassa ja geometriassa—saatat tunnistaa hänen nimensä Erdős–Moser-yhtälöstä. De Bruijn, hollantilainen matemaatikko, jätti jälkensä kombinatoriikkaan, verkkoteoriaan ja tietojenkäsittelytieteeseen. Hänen de Bruijn-sekvenssinsa (eri kuin tämä) ovat perustavanlaatuisia koodausteoriassa ja edelleen laajasti käytössä.
Heidän nimikkosekvenssinsa syntyi 1960-luvulla additiivisen lukuteorian tutkimuksissa. Matemaatikot kysyivät: mitkä kokonaislukujoukot mahdollistavat muiden kokonaislukujen yksilöllisen esittämisen summina? Nelosen potenssit osoittautuivat yhdeksi tällaiseksi joukoksi, ja Moser-de Bruijn -sekvenssi kuvaa kaikki mahdolliset summat, joita voidaan muodostaa.
Sekvenssi sijoittuu additiivisten kantojen laajempaan tutkimukseen—kokonaislukujoukoista, joilla voidaan rakentaa muita kokonaislukuja yhteenlaskun avulla. Jotkin kannat sallivat yksilölliset esitykset (kuten nelosen potenssit), kun taas toiset eivät. Sen ymmärtäminen, millaisilla kannoilla on mitäkin ominaisuuksia, on edelleen aktiivinen tutkimusalue additiivisessa lukuteoriassa.
Löydät tämän sekvenssin A000695 OEIS:stä, jossa matemaatikot ovat dokumentoineet sen yhteydet binaariseen esitykseen, kvaternaarisiin (4-kantaisiin) järjestelmiin ja kombinatorisiin ominaisuuksiin. Moderni tietojenkäsittelytiede on löytänyt sille uusia käyttötarkoituksia, erityisesti algoritmeissa, jotka koskevat bittien käsittelyä ja harvaan tallennettujen tietorakenteiden tehokasta koodausta.
Haluatko toteuttaa Moser-de Bruijn -sekvenssin generaattorin itse? Tässä on tehokkaita toteutuksia suosituilla ohjelmointikielillä. Jokainen esimerkki sisältää sekä sekvenssin generaattorin että jäsenyyden testausfunktion.
1def moser_de_bruijn(n):
2 """Generoi Moser-de Bruijn -sekvenssin ensimmäiset n termiä."""
3 sequence = []
4 for i in range(n):
5 term = 0
6 power = 1
7 temp = i
8 while temp > 0:
9 if temp & 1: # Tarkista, onko vähiten merkitsevä bitti 1
10 term += power
11 power *= 4
12 temp >>= 1 # Siirrä oikealle seuraavan bitin tarkistamiseksi
13 sequence.append(term)
14 return sequence
15
16# Käyttöesimerkki:
17terms = moser_de_bruijn(20)
18print("Moser-de Bruijn -sekvenssin ensimmäiset 20 termiä:")
19print(terms)
20# Tulos: [0, 1, 4, 5, 16, 17, 20, 21, 64, 65, 68, 69, 80, 81, 84, 85, 256, 257, 260, 261]
21
22def is_moser_de_bruijn(num):
23 """Tarkista, onko numero Moser-de Bruijn -sekvenssissä."""
24 while num > 0:
25 digit = num % 4
26 if digit > 1:
27 return False
28 num //= 4
29 return True
30
31# Tarkista, onko 21 sekvenssissä
32print(f"Onko 21 sekvenssissä? {is_moser_de_bruijn(21)}") # True
33print(f"Onko 22 sekvenssissä? {is_moser_de_bruijn(22)}") # False
341function moserDeBruijn(n) {
2 const sequence = [];
3 for (let i = 0; i < n; i++) {
4 let term = 0;
5 let power = 1;
6 let temp = i;
7 while (temp > 0) {
8 if (temp & 1) { // Tarkista, onko vähiten merkitsevä bitti 1
9 term += power;
10 }
11 power *= 4;
12 temp >>= 1; // Siirrä oikealle seuraavan bitin tarkistamiseksi
13 }
14 sequence.push(term);
15 }
16 return sequence;
17}
18
19// Käyttöesimerkki:
20const terms = moserDeBruijn(20);
21console.log("Moser-de Bruijn -sekvenssin ensimmäiset 20 termiä:");
22console.log(terms);
23// Tulos: [0, 1, 4, 5, 16, 17, 20, 21, 64, 65, 68, 69, 80, 81, 84, 85, 256, 257, 260, 261]
24
25function isMoserDeBruijn(num) {
26 while (num > 0) {
27 const digit = num % 4;
28 if (digit > 1) {
29 return false;
30 }
31 num = Math.floor(num / 4);
32 }
33 return true;
34}
35
36// Tarkista tietyt numerot
37console.log(`Onko 21 sekvenssissä? ${isMoserDeBruijn(21)}`); // true
38console.log(`Onko 22 sekvenssissä? ${isMoserDeBruijn(22)}`); // false
391import java.util.ArrayList;
2import java.util.List;
3
4public class MoserDeBruijnGenerator {
5
6 public static List<Integer> generateSequence(int n) {
7 List<Integer> sequence = new ArrayList<>();
8 for (int i = 0; i < n; i++) {
9 int term = 0;
10 int power = 1;
11 int temp = i;
12 while (temp > 0) {
13 if ((temp & 1) == 1) { // Tarkista, onko vähiten merkitsevä bitti 1
14 term += power;
15 }
16 power *= 4;
17 temp >>= 1; // Siirrä oikealle seuraavan bitin tarkistamiseksi
18 }
19 sequence.add(term);
20 }
21 return sequence;
22 }
23
24 public static boolean isMoserDeBruijn(int num) {
25 while (num > 0) {
26 int digit = num % 4;
27 if (digit > 1) {
28 return false;
29 }
30 num /= 4;
31 }
32 return true;
33 }
34
35 public static void main(String[] args) {
36 List<Integer> terms = generateSequence(20);
37 System.out.println("Moser-de Bruijn -sekvenssin ensimmäiset 20 termiä:");
38 System.out.println(terms);
39
40 System.out.println("Onko 21 sekvenssissä? " + isMoserDeBruijn(21)); // true
41 System.out.println("Onko 22 sekvenssissä? " + isMoserDeBruijn(22)); // false
42 }
43}
441#include <iostream>
2#include <vector>
3
4std::vector<int> moserDeBruijn(int n) {
5 std::vector<int> sequence;
6 for (int i = 0; i < n; i++) {
7 int term = 0;
8 int power = 1;
9 int temp = i;
10 while (temp > 0) {
11 if (temp & 1) { // Tarkista, onko vähiten merkitsevä bitti 1
12 term += power;
13 }
14 power *= 4;
15 temp >>= 1; // Siirrä oikealle seuraavan bitin tarkistamiseksi
16 }
17 sequence.push_back(term);
18 }
19 return sequence;
20}
21
22bool isMoserDeBruijn(int num) {
23 while (num > 0) {
24 int digit = num % 4;
25 if (digit > 1) {
26 return false;
27 }
28 num /= 4;
29 }
30 return true;
31}
32
33int main() {
34 std::vector<int> terms = moserDeBruijn(20);
35 std::cout << "Moser-de Bruijn -sekvenssin ensimmäiset 20 termiä:" << std::endl;
36 for (int term : terms) {
37 std::cout << term << " ";
38 }
39 std::cout << std::endl;
40
41 std::cout << "Onko 21 sekvenssissä? " << (isMoserDeBruijn(21) ? "true" : "false") << std::endl;
42 std::cout << "Onko 22 sekvenssissä? " << (isMoserDeBruijn(22) ? "true" : "false") << std::endl;
43
44 return 0;
45}
46Kaikki nämä toteutukset noudattavat samaa kaavaa: käyttävät bittitason operaatioita indeksin binäärisen esityksen lukemiseen ja muodostavat vastaavan summan 4:n potensseista. Jäsenyyden testausfunktiot käyttävät kantaluku 4 -lähestymistapaa - tarkistaen, että numerot ovat rajoitetut 0:aan ja 1:een.
Suorituskyvyn kannalta nämä toteutukset ovat erittäin tehokkaita. Aikavaativuus on O(n × log n) n termin generoimiseen, koska jokainen termi vaatii O(log i) bitin tutkimisen. Yhden numeron jäsenyyden testaaminen on O(log N), missä N on testattava numero.
Alla oleva taulukko näyttää ensimmäiset 32 termiä täydellisine hajotuksineen. Huomaa, kuinka kantaluku 4 -esitys sisältää vain 0:ia ja 1:iä, ja kuinka hajotus vastaa suoraan binääri-indeksejä:
| Indeksi | Termi | Hajotus | Kantaluku 4 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 4⁰ | 1 |
| 2 | 4 | 4¹ | 10 |
| 3 | 5 | 4¹ + 4⁰ | 11 |
| 4 | 16 | 4² | 100 |
| 5 | 17 | 4² + 4⁰ | 101 |
| 6 | 20 | 4² + 4¹ | 110 |
| 7 | 21 | 4² + 4¹ + 4⁰ | 111 |
| 8 | 64 | 4³ | 1000 |
| 9 | 65 | 4³ + 4⁰ | 1001 |
| 10 | 68 | 4³ + 4¹ | 1010 |
| 11 | 69 | 4³ + 4¹ + 4⁰ | 1011 |
| 12 | 80 | 4³ + 4² | 1100 |
| 13 | 81 | 4³ + 4² + 4⁰ | 1101 |
| 14 | 84 | 4³ + 4² + 4¹ | 1110 |
| 15 | 85 | 4³ + 4² + 4¹ + 4⁰ | 1111 |
| 16 | 256 | 4⁴ | 10000 |
| 17 | 257 | 4⁴ + 4⁰ | 10001 |
| 18 | 260 | 4⁴ + 4¹ | 10010 |
| 19 | 261 | 4⁴ + 4¹ + 4⁰ | 10011 |
| 20 | 272 | 4⁴ + 4² | 10100 |
| 21 | 273 | 4⁴ + 4² + 4⁰ | 10101 |
| 22 | 276 | 4⁴ + 4² + 4¹ | 10110 |
| 23 | 277 | 4⁴ + 4² + 4¹ + 4⁰ | 10111 |
| 24 | 320 | 4⁴ + 4³ | 11000 |
| 25 | 321 | 4⁴ + 4³ + 4⁰ | 11001 |
| 26 | 324 | 4⁴ + 4³ + 4¹ | 11010 |
| 27 | 325 | 4⁴ + 4³ + 4¹ + 4⁰ | 11011 |
| 28 | 336 | 4⁴ + 4³ + 4² | 11100 |
| 29 | 337 | 4⁴ + 4³ + 4² + 4⁰ | 11101 |
| 30 | 340 | 4⁴ + 4³ + 4² + 4¹ | 11110 |
| 31 | 341 | 4⁴ + 4³ + 4² + 4¹ + 4⁰ | 11111 |
Hajotamme termin 21 täydellisesti:
Näetkö kuvion? Binääri-indeksi (111) vastaa suoraan, mitkä 4:n potenssit sisällytetään. Jokainen "1"-bitti kertoo, mitkä potenssit otetaan mukaan.
Sarja kasvaa eksponentiaalisesti—n:s termi on karkeasti verrannollinen 4^(log₂(n)). Mitä tämä käytännössä tarkoittaa?
Numeroiden kasvaessa sarjasta tulee yhä harvempi. Yhä useampia kokonaislukuja jätetään väliin. Tästä harvuudesta huolimatta sarjassa on äärettömästi termejä—se ei koskaan lakkaa kasvamasta.
OEIS A000695 - Moser-de Bruijn -sekvenssi. The Online Encyclopedia of Integer Sequences. Kattavat tiedot ja ominaisuudet sekvenssistä.
De Bruijn, N. G. "Kokonaislukujoukkojen perusteista." Publicationes Mathematicae Debrecen, vol. 1, 1950, ss. 232-242. Perustavanlaatuinen tutkielma, joka määrittää additiivisten kantojen keskeiset ominaisuudet.
Moser, Leo. "Generoivien sarjojen sovellus." Mathematics Magazine, vol. 35, no. 1, 1962, ss. 37-38. Varhainen tutkimus sekvenssin generaattorifunktioista.
Stolarsky, Kenneth B. "Digitaalisten summien potenssi- ja eksponenttisummat binomiaalikertoimien parillisuuteen liittyen." SIAM Journal on Applied Mathematics, vol. 32, no. 4, 1977, ss. 717-730. Tutkii digitaalisten summien ominaisuuksia Moser-de Bruijn -sekvenssin kaltaisissa sarjoissa.
Allouche, Jean-Paul, ja Jeffrey Shallit. Automaattiset sekvenssit: Teoria, sovellukset, yleistykset. Cambridge University Press, 2003. Luku automaattisista sekvensseistä, mukaan lukien yhteydet Moser-de Bruijn -sekvenssiin.
Summavapaatjoukot - Wikipedia. Taustaa additiivisen lukuteorian laajemmasta kontekstista.
Additiiviset kannat - Wikipedia. Yleiskatsaus joukoista, jotka voivat edustaa kokonaislukuja summina.
Sekvenssiä käytetään useissa sovelluksissa: additiivisten kantojen tutkimiseen lukuteoriassa, summavapaiden joukkojen kombinatoriikkaan, tietojenkäsittelytieteen opetukseen (erityisesti bittitason operaatioiden ja tehokkaiden algoritmien opettamiseen) sekä matemaattisten kuvioiden analyysiin. Se on myös erinomainen opetustyökalu eri lukukantojen välisten suhteiden ymmärtämiseen.
Ota jokainen indeksi n alkaen 0:sta, muunna se binääriksi ja korvaa jokainen "1"-bitti vastaavalla 4:n potenssilla. Esimerkiksi indeksi 5 binäärimuodossa on 101, joten lasket 4² + 4⁰ = 16 + 1 = 17. Tämä on 5. termi (laskettuna indeksistä 0).
Jokaisella sekvenssin numerolla on erityinen ominaisuus: sen 4-kantainen esitys sisältää vain 0:ia ja 1:iä - ei koskaan 2:ia tai 3:ia. Tämä tarkoittaa, että voit rakentaa jokaisen termin lisäämällä 4:n potensseja siten, että kukin potenssi esiintyy korkeintaan kerran. Se on kuin binäärijärjestelmä, mutta käyttäen 2:n sijaan 4:n potensseja.
Muunna numero 4-kantaiseksi ja tarkastele sen numeroita. Jos näet vain 0:ia ja 1:iä, se on sekvenssissä. Jos mikään numero on 2 tai 3, se ei ole. Esimerkiksi 21 4-kantaisessa muodossa on 111 (kaikki 1:iä ja 0:ia), joten se on mukana. Mutta 22 4-kantaisessa muodossa on 112 (sisältää 2:n), joten se ei ole.
N:s termi M(n) noudattaa seuraavaa kaavaa: M(n) = Σ(b_i × 4^i), jossa b_i edustaa n:n binäärinumeroita. Yksinkertaisesti sanottuna: kirjoita n binäärimuodossa ja lisää jokaisesta 1-positiosta vastaava 4:n potenssi.
Kyllä, se jatkuu ikuisesti. Moser-de Bruijn -sekvenssissä on äärettömästi termejä. Mitä korkeammalle menet, sitä harvemmaksi sekvenssi muuttuu - ohitat yhä enemmän tavallisia kokonaislukuja sekvenssin jäsenten välillä.
Binäärijonot (2:n potenssien summat) voivat edustaa kaikkia ei-negatiivisia kokonaislukuja - juuri sitä binääriesitys tekee. Moser-de Bruijn -sekvenssi käyttää 4:n potensseja, mikä luo paljon harvemman joukon. Useimmat kokonaisluvut eivät esiinny Moser-de Bruijn -sekvenssissä.
Leo Moser (1921-1970), itävaltalais-kanadalainen matemaatikko, ja Nicolaas Govert de Bruijn (1918-2012), hollantilainen matemaatikko, tutkivat tätä sekvenssiä syvällisesti 1960-luvulla osana additiivisen lukuteorian tutkimusta. Sekvenssi kantaa molempien nimiä.
Tämä generaattori toimii kokonaan selaimessasi – ei asennusta, ei rekisteröintiä, ei odottelua. Olit sitten opiskelija, joka oppii numerojärjestelmistä, tutkija, joka tutkii additiivisia kantoja, tai vain matemaattisesti utelias, voit luoda termejä välittömästi ja nähdä itse kaavat. Kokeile luoda erilaisia määriä nähdäksesi, miten sekvenssi kasvaa ja mitkä kokonaisluvut sisällytetään.
Löydä lisää työkaluja, jotka saattavat olla hyödyllisiä työnkulullesi