#include #include #include #define IA 16807 #define IM 2147483647 #define AM (1.0/IM) #define IQ 127773 #define IR 2836 #define MASK 123459876 #define PI 3.141592 #define NC 10000 float ran0(long *id); int main(void) { int i, j, k, p, np = 1000; long int semente = 13459801; float alea, x, y, h; x = 0; y = 0; h = 0.1; for (p = 1; p < np; p++) { alea = 2.0 * PI * ran0(&semente); x += h * cos(alea); y += h * sin(alea); printf("\n %f %f", x, y); } printf("\n"); } float ran0(long *id) { long k; float ans; *id ^= MASK; k = (*id)/IQ; *id = IA * (*id - k * IQ) - IR * k; if (*id < 0) *id += IM; ans = AM * (*id); *id ^= MASK; return (ans); }