Programmera din egen Slumptalsgenerator
Hej, jag ska programmera min egna slumptalsgenerator och med hjälp av den så ska man lösa ut uppgift 33 på sida 252 i boken(matte 5000 5). Jag har skrivit upp en kod som slumpmässigt ger mig olika siffror men jag vet inte hur jag ska göra på uppgift 33 och hur det har ett samband med slumptalsgeneratorn alls... jag är helt ute och cyklar och behöver hjälp, tack!
Är det korrekt att din kod är baserad på beskrivningen i 33 a? Det är mer eller mindre en förutsättning för de övriga delfrågorna.
Är det delfrågorna i a du fastnat på? De är ren matematik och kan besvaras utan programmet eftersom enkla beräkningar.
Om du gjort ett program, se till att enkelt kan prova med olika konstanter.
Du kan också "koda" generatorn i ett kalkylark om det känns enklare. Så här:
Slumptalsgeneratorn:
är ett valt frö.
För uppgift c och d behöver du dock programmera. I "c" står det troligen fel, man ska skifta 8 steg (eller dividera med 256) eftersom "bit 8 till 15" alltid betyder från 8:e bit:en och bitar är alltid noll-numrerade (man ska alltså skifta bort bit 0 till 7).
Programmeraren skrev:Är det korrekt att din kod är baserad på beskrivningen i 33 a? Det är mer eller mindre en förutsättning för de övriga delfrågorna.
Är det delfrågorna i a du fastnat på? De är ren matematik och kan besvaras utan programmet eftersom enkla beräkningar.
Om du gjort ett program, se till att enkelt kan prova med olika konstanter.
Du kan också "koda" generatorn i ett kalkylark om det känns enklare. Så här:Slumptalsgeneratorn:
är ett valt frö.
För uppgift c och d behöver du dock programmera. I "c" står det troligen fel, man ska skifta 8 steg (eller dividera med 256) eftersom "bit 8 till 15" alltid betyder från 8:e bit:en och bitar är alltid noll-numrerade (man ska alltså skifta bort bit 0 till 7).
Jag har försökt programmera med kommer ingenstans..
Kan du Java? Eller nåt annat språk?
Programmeraren skrev:Kan du Java? Eller nåt annat språk?
Har en läxa på det här och det måste skrivas med Python
Har du gjort uppgifterna a och b? De kräver ingen programmering
Jag kan inte python. Men i Java kan det se ut ungefär så här om x(n+1)=ax(n)+b (mod c).
Man har variabler för a, b, c.
public static void main(String[] args) {
int a = 25173;
int b = 13849;
int c = 65536;
int x = 7; // x0
int n = 1000 * 1000;
for (int i = 0; i < n; i++) {
x = (a*x+b) % c;
int bits = (x & 0xff00) >> 8;
}
}
bits är ett tal mellan 0 och 255 och det är de talen man sen ska kontrollera fördelningen på (nu gör programmet ingenting annat än ta fram 1 miljon slumptal som det inte görs något med).