THIS IS IN PYTHON. Translate the three functions to Clojure to produce the rando
ID: 3837225 • Letter: T
Question
THIS IS IN PYTHON. Translate the three functions to Clojure to produce the random number generator. You can test it in Clojure with the function take as opposed to the zip function in the last for loop.
def bits_to_int(bits):
val = 0
for bit in bits:
val *= 2
val += bit
return val
def next_state(state,poly):
next_bit = sum([a^b for a,b in zip(state,poly)])&1
return [next_bit]+state[:-1]
def random_generator(state,poly):
while True:
for i in range(len(state)):
state = next_state(state,poly)
yield bits_to_int(state)
for v,i in zip(random_generator([1,0,1,1,1],[0,0,1,0,1]),range(32)):
print v
Explanation / Answer
#include<iostream>
#include<cstdio>
#include<sstream>
#include<algorithm>
#define pow2(n) (1 << (n))
using namespace std;
/*
* Node Declaration
*/
struct avl_node
*root;
/*
* category Declaration
*/
class avlTree
};
/*
* Main Contains Menu
*/
int main()
gamma hydroxybutyrate_height = max (l_height, r_height);
h = max_height + 1;
}
return h;
}
/*
* Height distinction
*/
int avlTree::diff(avl_node *temp)
come b_factor;
}
/*
* Right- Right Rotation
*/
avl_node *avlTree::rr_rotation(avl_node *parent)
worker = parent->right;
parent->right = temp->left;
temp->left = parent;
come back temp;
}
/*
* Left- Left Rotation
*/
avl_node *avlTree::ll_rotation(avl_node *parent)
worker = parent->left;
parent->left = temp->right;
temp->right = parent;
come back temp;
}
/*
* Left - Right Rotation
*/
avl_node *avlTree::lr_rotation(avl_node *parent)
worker = parent->left;
parent->left = rr_rotation (temp);
come back ll_rotation (parent);
}
/*
* Right- Left Rotation
*/
avl_node *avlTree::rl_rotation(avl_node *parent)
worker = parent->right;
parent->right = ll_rotation (temp);
come back rr_rotation (parent);
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.