乱数の発生
/*2kadai02-3.c*/
#define IB1 1
#define IB2 2
#define IB5 16
#define IB18 131072
#define MASK (IB1+IB2+IB5)

int irbit2(unsigned long *iseed)
{
if(*iseed & IB18){
*iseed=((*iseed ^ MASK)<<1) | IB1;
return 1;
}else{
*iseed <<= 1;
return 0;
}
}


#include<stdio.h>
#include<stdlib.h>
#include<math.h>
main(){
unsigned long *iseed;
int k;
int n;
*iseed=189;
for(n=0;n<100;n++)
{
k=irbit2(iseed);
printf("\n%d %d",n,k);
}
}

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送