Hét vraag- en antwoordplatform van Nederland

Hoeveel mogelijkheden heeft een ontgrendelingspatroon van 3x3?

Ik heb op mijn telefoon een patroon zitten om te ontgrendelen. Dit patroon bestaat uit een raster van 3x3 die elk maar een keer kunnen worden gebruikt, maar die ook ongebruikt gelaten kunnen worden. Hoeveel mogelijke patronen zijn er, er van uit gaande dat er geen leeg patroon is?
De volgorde waarin je de hokjes aanraakt maakt ook uit.

Verwijderde gebruiker
7 jaar geleden
in: Wiskunde
11.4K
Antoni
7 jaar geleden
Hoeveel hokjes moet je aanraken om te ontgrendelen?
Antoni
7 jaar geleden
Hoeveel hokjes moet je MINSTENS wel aanraken om te ontgrendelen? Is één voldoende?
Verwijderde gebruiker
7 jaar geleden
één hokje is al voldoende, ja. En maximaal dus 9
Verwijderde gebruiker
7 jaar geleden
Je moet eigenlijk vragen hoeveel geldige ontgrendelings-patronen kan ik maken in een 3x3 grid waarin de lengte varieert van 1 tot 9 pixels/stippen?
Verwijderde gebruiker
7 jaar geleden
@RoqueTrader, dat is inderdaad de juiste vraagstelling, dank je!

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Antwoorden (2)

Naar mijn idee is de oplossing is 9! x 2 - 1.

Je kan maximaal 9 hokjes "aanraken". Dat kan op twee manieren: niet of wel. Je mag een hokje maar één keer aanraken, dus na de eerste keuze van een hokje heb je nog 8 keuzes over. Na de tweede keuze nog 7, enzovoort. Één mogelijkheid valt af, namelijk die waarbij je ze allemaal niet aanraakt.

Dat maakt de oplossing:

9! x 2 - 1 =
(9 x 8 x 7 x 6 x 5 x 4 x 3 x 2 x 1) x 2 - 1 =
362.880 x 2 - 1 =
725.760 - 1 =
725.759
(Lees meer...)
7 jaar geleden
Thecis
7 jaar geleden
Ik weet niet zeker of de vraagsteller dit bedoelt. Bij een aanraakpatroon begin je ergens (stel op de 1) en moet je vanuit daar naar het naast gelegen vakje gaan (de 2 of de 4). De vraagsteller gaf wel aan dat de volgorde niet uitmaakte, maar weet daardoor niet zeker of er naar het aantal mogelijke combinaties gevraagd wordt of het daadwerkelijk aantal patronen.
Verwijderde gebruiker
7 jaar geleden
je hoeft niet per se van 1 naar 2 of 4 te gaan, ook van 1 naar 7 of van 8 naar 6 is mogelijk. Het is eigenlijk het swipe-patroon, als jullie dat kennen?
Verwijderde gebruiker
7 jaar geleden
Zie ook de bijgevoegde foto.
Verwijderde gebruiker
7 jaar geleden
"je hoeft niet per se van 1 naar 2 of 4 te gaan ook van 1 naar 7 of van 8 naar 6 is mogelijk" Maar van 1 naar 7 kan toch alleen maar via 4?
En van 1 naar 8 toch via 2 -> 5 ?
Vanuit gaande dat je niet buiten het grid mag manoeuvreren? Ik snap er anders helemaal niks van.
Antoni
7 jaar geleden
Op een website als deze https://waaromwiskunde.wordpress.com/tag/patroon/ waarop de beveiliging, het veegpatroon en wiskunde worden gecombineerd, komt men dan toch uit op een aantal van 389.112 mogelijkheden, zoals RoqueTrader noemt in zijn antwoord. Hierbij is echter wel onder meer de voorwaarde genoemd dat je minstens vier vakjes moet bezoeken. Dus of het helemaal de oplossing is voor jouw vraag, daar ben ik niet zeker van.
Antoni
7 jaar geleden
N.B.: Mijn reactie is een reactie op die van QZanden.
Verwijderde gebruiker
7 jaar geleden
@RoqueTrader, schuine lijnen mogen ook, zoals van 6 naar 8. Van 1 naar 7 gaat inderdaad via 4. Maar bijvoorbeeld 6,2,1,5,9,3 is wel een geldige code.
Thecis
7 jaar geleden
Ok, ik was de diagonaal inderdaad vergeten. Maar van 1 kan je niet rechtstreeks naar 9 gaan. Dat moet via de 5 gaan (of via een ander pad). Maar dat beperkt de hoeveelheid mogelijkheden aanzienlijk.
Er zijn meer Android gebruikers die geworsteld hebben met dit probleem, het totaal aantal combinaties komt op: 389112 en is berekend met een stukje C++ proza want met een simpel faculteit berekenringetje kom je er niet helemaal exact uit.

#include
#include

using namespace std;

void Gen(int x, vector v, long long int &ctr, int *visited)
{
int flag,l;

visited[x]=1;
v.push_back(x);
l=v.size();
flag=1;
if(l>1)
{
if(v[l-2]==0 && v[l-1]==2 && visited[1]==0)
flag=0;

if(v[l-2]==0 && v[l-1]==6 && visited[3]==0)
flag=0;
if(v[l-2]==0 && v[l-1]==8 && visited[4]==0)
flag=0;

if(v[l-2]==2 && v[l-1]==0 && visited[1]==0)
flag=0;

if(v[l-2]==2 && v[l-1]==6 && visited[4]==0)
flag=0;

if(v[l-2]==2 && v[l-1]==8 && visited[5]==0)
flag=0;

if(v[l-2]==6 && v[l-1]==0 && visited[3]==0)
flag=0;

if(v[l-2]==6 && v[l-1]==2 && visited[4]==0)
flag=0;

if(v[l-2]==6 && v[l-1]==8 && visited[7]==0)
flag=0;

if(v[l-2]==8 && v[l-1]==2 && visited[5]==0)
flag=0;

if(v[l-2]==8 && v[l-1]==0 && visited[4]==0)
flag=0;

if(v[l-2]==8 && v[l-1]==6 && visited[7]==0)
flag=0;

if(v[l-2]==1 && v[l-1]==7 && visited[4]==0)
flag=0;

if(v[l-2]==7 && v[l-1]==1 && visited[4]==0)
flag=0;

if(v[l-2]==3 && v[l-1]==5 && visited[4]==0)
flag=0;

if(v[l-2]==5 && v[l-1]==3 && visited[4]==0)
flag=0;
}

if(flag==1)
{
if(l>3)
{
ctr++;

/*
cout< for(int i=0;i cout< cout< */
}
for(int i=0;i<9;i++)
{
if(visited[i]==0) //To ensure that the dots in the pattern must all be distinct.
Gen(i,v,ctr,visited);
}
}

//Backtrack
visited[x]=0;
v.pop_back();
return;
}

int main()
{
int visited[9]; //To check if a number is used in sequence
vector V; //vector to store valid pattern sequence
long long int ctr; //To keep count of valid lock patterns.

for(int i=0; i<9;i++)
visited[i]=0;
ctr=0;

//Starting from first point as i
for(int i=0; i<9;i++)
{
Gen(i,V,ctr,visited);
}
cout<
return 0;
}
(Lees meer...)
Verwijderde gebruiker
7 jaar geleden
Antoni
7 jaar geleden
De voorwaarden die de vraagsteller hier in zijn toelichting en in zijn reactie op de vraag noemt, zijn anders dan die in jouw bron. Zo is er volgens de vraagsteller maar één hokje al voldoende en volgens jouw bron moeten er minstens vier worden aangeraakt.
Verwijderde gebruiker
7 jaar geleden
Reactie heb ik niet gezien. Ik heb het gelezen als 4 punten verbinden als 'hokje' ik ken het principe niet want ik ben iPhone fanboy, maar vraagsteller bedoelt dan 1 punt/pixel in het 3x3 grid als 'hokje'?
Verwijderde gebruiker
7 jaar geleden
Ik bedoel het swipe patroon.
Verwijderde gebruiker
7 jaar geleden
Zie ook de foto die ik heb toegevoegd.

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 5000
Gekozen afbeelding