#include <stdlib.h>
#include <pthread.h>
#include <stdio.h>
#include <unistd.h>
#include <math.h>
#include <time.h>
pthread_t thr_counter[8];
unsigned long n_odd = 0;
unsigned long n_even = 0;
void *counter(void *arg) {
int n;
int *c = (int*)arg;
double d;
for (int k=0; k<*c; k++) {
for (int j=0; j<n; j++)
if (n%2 == 0)
n_even++;
else
n_odd++;
}
pthread_exit(NULL);
}
int main() {
int cnt=1000000, k;
for (k=0; k<8; k++) {
pthread_create(&thr_counter[k], NULL, counter, (void*)&cnt);
}
for (k=0; k<8; k++) {
pthread_join(thr_counter[k], NULL);
}
printf("Broj parnih: \t %lu\n", n_even
); printf("Broj neparnih: \t %lu\n", n_odd
); printf("Ukupno: \t %lu\n", n_odd
+n_even
); return 0;
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8cHRocmVhZC5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgojaW5jbHVkZSA8bWF0aC5oPgojaW5jbHVkZSA8dGltZS5oPgoKcHRocmVhZF90IHRocl9jb3VudGVyWzhdOwoKdW5zaWduZWQgbG9uZyBuX29kZCA9IDA7CnVuc2lnbmVkIGxvbmcgbl9ldmVuID0gMDsKCnZvaWQgKmNvdW50ZXIodm9pZCAqYXJnKSB7CiAgaW50IG47CiAgaW50ICpjID0gKGludCopYXJnOwogIGRvdWJsZSBkOwogIAogIGZvciAoaW50IGs9MDsgazwqYzsgaysrKSB7CiAgICBuID0gcmFuZCgpJTEwMDsKICAgIGZvciAoaW50IGo9MDsgajxuOyBqKyspCiAgICAgIGQgPSBzcXJ0KChkb3VibGUpaik7CiAgICBpZiAobiUyID09IDApCiAgICAgIG5fZXZlbisrOwogICAgZWxzZQogICAgICBuX29kZCsrOwogIH0KICAKICBwdGhyZWFkX2V4aXQoTlVMTCk7Cn0KCmludCBtYWluKCkgewogIGludCBjbnQ9MTAwMDAwMCwgazsKICBzcmFuZCh0aW1lKE5VTEwpKTsKICBmb3IgKGs9MDsgazw4OyBrKyspIHsKICAgIHB0aHJlYWRfY3JlYXRlKCZ0aHJfY291bnRlcltrXSwgTlVMTCwgY291bnRlciwgKHZvaWQqKSZjbnQpOwogIH0KCiAgZm9yIChrPTA7IGs8ODsgaysrKSB7CiAgICBwdGhyZWFkX2pvaW4odGhyX2NvdW50ZXJba10sIE5VTEwpOwogIH0KCiAgcHJpbnRmKCJCcm9qIHBhcm5paDogICBcdCAlbHVcbiIsIG5fZXZlbik7CiAgcHJpbnRmKCJCcm9qIG5lcGFybmloOiBcdCAlbHVcbiIsIG5fb2RkKTsKICBwcmludGYoIlVrdXBubzogICAgICAgIFx0ICVsdVxuIiwgbl9vZGQrbl9ldmVuKTsKICByZXR1cm4gMDsKfQ==