Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- long int ga,gb;
- void init_gens(){
- ga=703;
- gb=516;
- }
- long int update_ga(){
- ga=(ga*16807)%2147483647;
- return ga;
- }
- long int update_gb(){
- gb=(gb*48271)%2147483647;
- return gb;
- }
- long int update_ga2(){
- do{
- update_ga();
- }while((ga%4)!=0);
- return ga;
- }
- long int update_gb2(){
- do{
- update_gb();
- }while((gb%8)!=0);
- return gb;
- }
- int compare_gens(long int (*ua)(), long int (*ub)()){
- long int a=(*ua)();
- long int b=(*ub)();
- return (a&0xFFFF)==(b&0xFFFF);
- }
- int main(){
- init_gens();
- int count = 0;
- for(int i=0;i<40000000;i++)
- count+=compare_gens(&update_ga,&update_gb);
- printf("%d\n", count);
- init_gens();
- count=0;
- for(int i=0;i<5000000;i++)
- count+=compare_gens(&update_ga2, &update_gb2);
- printf("%d\n", count);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement