fork download
  1. #include <stdio.h>
  2.  
  3. unsigned long long int rdtsc() {
  4. unsigned long long int x;
  5. __asm__ volatile ("rdtsc" : "=A" (x));
  6. return x;
  7. }
  8.  
  9. int isEven(unsigned long long int number) {
  10. // fetch the begin time
  11. unsigned long long int beginTime = rdtsc();
  12.  
  13. // a magic corn loop
  14. while (number > 0) {
  15. // decrease
  16. number -= 2;
  17.  
  18. // got timeout?
  19. if (rdtsc() - beginTime > 5000000) {
  20. return 0;
  21. }
  22. }
  23.  
  24. // got an even number!!!11!11! call the fire department!!11!!!1
  25. return 1;
  26. }
  27.  
  28. int main(void) {
  29. if (isEven(10)) {
  30. printf("parzysta\n");
  31. } else {
  32. printf("nieparzysta\n");
  33. }
  34.  
  35. if (isEven(9)) {
  36. printf("parzysta\n");
  37. } else {
  38. printf("nieparzysta\n");
  39. }
  40. }
  41.  
Success #stdin #stdout 0s 2248KB
stdin
Standard input is empty
stdout
parzysta
nieparzysta