fork(1) download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int getExp(int level) {
  5. return 321 * pow(level, 2) + 4679 * level;
  6. }
  7.  
  8. int getLevel(int exp) {
  9. int s1 = pow(4679, 2) - 4 * 321 * -exp;
  10. int s2 = -4679 + sqrt(s1);
  11. return s2 / (2 * 321);
  12. }
  13.  
  14. int main(void) {
  15. printf("Level 2 XP: %d\n", getExp(1));
  16. printf("Level 5 XP: %d\n", getExp(4));
  17. printf("Level 10 XP: %d\n", getExp(9));
  18. printf("Level 50 XP: %d\n", getExp(49));
  19. printf("Level 100 XP: %d\n", getExp(99));
  20.  
  21. printf("XP 5000 = Level %d\n", getLevel(5000) + 1);
  22. printf("XP 10000 = Level %d\n", getLevel(10000) + 1);
  23. printf("XP 50000 = Level %d\n", getLevel(50000) + 1);
  24. printf("XP 100000 = Level %d\n", getLevel(100000) + 1);
  25. printf("XP 500000 = Level %d\n", getLevel(500000) + 1);
  26. printf("XP 1000000 = Level %d\n", getLevel(1000000) + 1);
  27. printf("XP 1655444 = Level %d\n", getLevel(1655445) + 1);
  28.  
  29. return 0;
  30. }
  31.  
Success #stdin #stdout 0s 2052KB
stdin
Standard input is empty
stdout
Level 2 XP: 5000
Level 5 XP: 23852
Level 10 XP: 68112
Level 50 XP: 999992
Level 100 XP: 3609342
XP 5000 = Level 2
XP 10000 = Level 2
XP 50000 = Level 8
XP 100000 = Level 12
XP 500000 = Level 33
XP 1000000 = Level 50
XP 1655444 = Level -3344989