A programom elkéne döntse egy random számrol, hogy prim-e vagy nem csakhogy ez a véletlen szám nekem mindig 41 lesz már rebuildet is nyomtam kiléptem meg beléptem a CodeBlocksba de csak 41 a véletlenül generált szám :D mi lehet a hibám?
#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
void primteszt()
{
int n,oszto,talal=0;
n=rand()%100;printf("Egy veletlenszeruen generalt szamrol eldontom, hogy prim e vagy nem a random szam: %d\n",n);
if(n==0||n==1)
talal=1;
for(oszto=2;oszto<=sqrt(n);oszto++)
if(n%oszto!=0)
talal=1;
if(talal==1)
printf("A megadott szam nem prim!");
else
printf("A megadott szam prim!");
}
int main()
{
primteszt();
}
Az a szép a véletlenben, hogy véges sok számból nem fogod tudni megmondani, hogy véletlenszerű-e a sorozat. Tehát ha százszor 41-t ad, akkor sem tudod eldönteni, hogy véletlen-e. Ez is egy lehetséges esemény, csak kicsi a valószínűsége.
De mivel itt pszeudovéletlenről van szó, csak a seedelést rontod el (vagyis hagyod ki, így mindig egyes seedről indul).
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!