fork download
  1. #include <stdio.h>
  2.  
  3. #define MAX_POW 99
  4. #define DIGITS 8
  5. void power3(unsigned long result[]) {
  6.  
  7. for (int i = 0; i < DIGITS; i++) {
  8. result[i] = (i == 0) ? 1 : 0; // 3^0 = 1
  9. }
  10.  
  11.  
  12. for (int power = 1; power <= MAX_POW; power++) {
  13. unsigned long carry = 0;
  14. for (int i = 0; i < DIGITS; i++) {
  15. unsigned long temp = result[i] * 3 + carry;
  16.  
  17. carry = temp / 100000000;
  18. result[i] = temp % 100000000;
  19. }
  20. }
  21. }
  22.  
  23.  
  24. void print_result(unsigned long result[]) {
  25.  
  26. for (int power = 0; power <= MAX_POW; power++) {
  27.  
  28. unsigned long num = 0;
  29. for (int i = DIGITS - 1; i >= 0; i--) {
  30. num = num * 100000000 + result[i];
  31. }
  32. printf("3^%d = %lu\n", power, num);
  33. }
  34. }
  35.  
  36. int main() {
  37. unsigned long result[DIGITS];
  38. power3(result);
  39. print_result(result);
  40. return 0;
  41. }
Success #stdin #stdout 0s 5284KB
stdin
Standard input is empty
stdout
3^0 = 17451869791863703195
3^1 = 17451869791863703195
3^2 = 17451869791863703195
3^3 = 17451869791863703195
3^4 = 17451869791863703195
3^5 = 17451869791863703195
3^6 = 17451869791863703195
3^7 = 17451869791863703195
3^8 = 17451869791863703195
3^9 = 17451869791863703195
3^10 = 17451869791863703195
3^11 = 17451869791863703195
3^12 = 17451869791863703195
3^13 = 17451869791863703195
3^14 = 17451869791863703195
3^15 = 17451869791863703195
3^16 = 17451869791863703195
3^17 = 17451869791863703195
3^18 = 17451869791863703195
3^19 = 17451869791863703195
3^20 = 17451869791863703195
3^21 = 17451869791863703195
3^22 = 17451869791863703195
3^23 = 17451869791863703195
3^24 = 17451869791863703195
3^25 = 17451869791863703195
3^26 = 17451869791863703195
3^27 = 17451869791863703195
3^28 = 17451869791863703195
3^29 = 17451869791863703195
3^30 = 17451869791863703195
3^31 = 17451869791863703195
3^32 = 17451869791863703195
3^33 = 17451869791863703195
3^34 = 17451869791863703195
3^35 = 17451869791863703195
3^36 = 17451869791863703195
3^37 = 17451869791863703195
3^38 = 17451869791863703195
3^39 = 17451869791863703195
3^40 = 17451869791863703195
3^41 = 17451869791863703195
3^42 = 17451869791863703195
3^43 = 17451869791863703195
3^44 = 17451869791863703195
3^45 = 17451869791863703195
3^46 = 17451869791863703195
3^47 = 17451869791863703195
3^48 = 17451869791863703195
3^49 = 17451869791863703195
3^50 = 17451869791863703195
3^51 = 17451869791863703195
3^52 = 17451869791863703195
3^53 = 17451869791863703195
3^54 = 17451869791863703195
3^55 = 17451869791863703195
3^56 = 17451869791863703195
3^57 = 17451869791863703195
3^58 = 17451869791863703195
3^59 = 17451869791863703195
3^60 = 17451869791863703195
3^61 = 17451869791863703195
3^62 = 17451869791863703195
3^63 = 17451869791863703195
3^64 = 17451869791863703195
3^65 = 17451869791863703195
3^66 = 17451869791863703195
3^67 = 17451869791863703195
3^68 = 17451869791863703195
3^69 = 17451869791863703195
3^70 = 17451869791863703195
3^71 = 17451869791863703195
3^72 = 17451869791863703195
3^73 = 17451869791863703195
3^74 = 17451869791863703195
3^75 = 17451869791863703195
3^76 = 17451869791863703195
3^77 = 17451869791863703195
3^78 = 17451869791863703195
3^79 = 17451869791863703195
3^80 = 17451869791863703195
3^81 = 17451869791863703195
3^82 = 17451869791863703195
3^83 = 17451869791863703195
3^84 = 17451869791863703195
3^85 = 17451869791863703195
3^86 = 17451869791863703195
3^87 = 17451869791863703195
3^88 = 17451869791863703195
3^89 = 17451869791863703195
3^90 = 17451869791863703195
3^91 = 17451869791863703195
3^92 = 17451869791863703195
3^93 = 17451869791863703195
3^94 = 17451869791863703195
3^95 = 17451869791863703195
3^96 = 17451869791863703195
3^97 = 17451869791863703195
3^98 = 17451869791863703195
3^99 = 17451869791863703195