fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define MAX_DIGITS 48 // 48桁の計算結果に対応
  5.  
  6. void power3(unsigned long result[]) {
  7. unsigned long carry = 0;
  8. for (int i = 0; i < MAX_DIGITS / 7; i++) {
  9. unsigned long temp = result[i] * 3 + carry;
  10. result[i] = temp % 10000000; // 7桁を保持
  11. carry = temp / 10000000; // 繰り上げ分を計算
  12. }
  13. }
  14.  
  15. void print_result(unsigned long result[]) {
  16. int start_print = 0;
  17. for (int i = MAX_DIGITS / 7 - 1; i >= 0; i--) {
  18. if (start_print || result[i] != 0) {
  19. if (start_print) {
  20. printf("%07lu", result[i]); // 7桁で出力
  21. } else {
  22. printf("%lu", result[i]); // 最初の非ゼロ要素はゼロ埋めしない
  23. start_print = 1;
  24. }
  25. }
  26. }
  27. if (!start_print) {
  28. printf("0");
  29. }
  30. printf("\n");
  31. }
  32.  
  33. int main() {
  34. unsigned long result[MAX_DIGITS / 7] = {0}; // 7桁ごとの配列
  35. result[0] = 1; // 初期値:3の0乗は1
  36.  
  37. for (int i = 1; i <= 99; i++) {
  38. power3(result); // 3を掛けて次の累乗を計算
  39. printf("3の%d乗: ", i);
  40. print_result(result); // 結果を表示
  41. }
  42.  
  43. return 0;
  44. }
  45.  
Success #stdin #stdout 0s 5284KB
stdin
Standard input is empty
stdout
3の1乗: 3
3の2乗: 9
3の3乗: 27
3の4乗: 81
3の5乗: 243
3の6乗: 729
3の7乗: 2187
3の8乗: 6561
3の9乗: 19683
3の10乗: 59049
3の11乗: 177147
3の12乗: 531441
3の13乗: 1594323
3の14乗: 4782969
3の15乗: 14348907
3の16乗: 43046721
3の17乗: 129140163
3の18乗: 387420489
3の19乗: 1162261467
3の20乗: 3486784401
3の21乗: 10460353203
3の22乗: 31381059609
3の23乗: 94143178827
3の24乗: 282429536481
3の25乗: 847288609443
3の26乗: 2541865828329
3の27乗: 7625597484987
3の28乗: 22876792454961
3の29乗: 68630377364883
3の30乗: 205891132094649
3の31乗: 617673396283947
3の32乗: 1853020188851841
3の33乗: 5559060566555523
3の34乗: 16677181699666569
3の35乗: 50031545098999707
3の36乗: 150094635296999121
3の37乗: 450283905890997363
3の38乗: 1350851717672992089
3の39乗: 4052555153018976267
3の40乗: 12157665459056928801
3の41乗: 36472996377170786403
3の42乗: 109418989131512359209
3の43乗: 328256967394537077627
3の44乗: 984770902183611232881
3の45乗: 2954312706550833698643
3の46乗: 8862938119652501095929
3の47乗: 26588814358957503287787
3の48乗: 79766443076872509863361
3の49乗: 239299329230617529590083
3の50乗: 717897987691852588770249
3の51乗: 2153693963075557766310747
3の52乗: 6461081889226673298932241
3の53乗: 19383245667680019896796723
3の54乗: 58149737003040059690390169
3の55乗: 174449211009120179071170507
3の56乗: 523347633027360537213511521
3の57乗: 1570042899082081611640534563
3の58乗: 4710128697246244834921603689
3の59乗: 14130386091738734504764811067
3の60乗: 42391158275216203514294433201
3の61乗: 127173474825648610542883299603
3の62乗: 381520424476945831628649898809
3の63乗: 1144561273430837494885949696427
3の64乗: 3433683820292512484657849089281
3の65乗: 10301051460877537453973547267843
3の66乗: 30903154382632612361920641803529
3の67乗: 92709463147897837085761925410587
3の68乗: 278128389443693511257285776231761
3の69乗: 834385168331080533771857328695283
3の70乗: 2503155504993241601315571986085849
3の71乗: 7509466514979724803946715958257547
3の72乗: 22528399544939174411840147874772641
3の73乗: 67585198634817523235520443624317923
3の74乗: 202755595904452569706561330872953769
3の75乗: 608266787713357709119683992618861307
3の76乗: 1824800363140073127359051977856583921
3の77乗: 5474401089420219382077155933569751763
3の78乗: 16423203268260658146231467800709255289
3の79乗: 49269609804781974438694403402127765867
3の80乗: 147808829414345923316083210206383297601
3の81乗: 443426488243037769948249630619149892803
3の82乗: 1330279464729113309844748891857449678409
3の83乗: 3990838394187339929534246675572349035227
3の84乗: 11972515182562019788602740026717047105681
3の85乗: 35917545547686059365808220080151141317043
3の86乗: 107752636643058178097424660240453423951129
3の87乗: 323257909929174534292273980721360271853387
3の88乗: 969773729787523602876821942164080815560161
3の89乗: 909321189362570808630465826492242446680483
3の90乗: 727963568087712425891397479476727340041449
3の91乗: 183890704263137277674192438430182020124347
3の92乗: 551672112789411833022577315290546060373041
3の93乗: 655016338368235499067731945871638181119123
3の94乗: 965049015104706497203195837614914543357369
3の95乗: 895147045314119491609587512844743630072107
3の96乗: 685441135942358474828762538534230890216321
3の97乗: 56323407827075424486287615602692670648963
3の98乗: 168970223481226273458862846808078011946889
3の99乗: 506910670443678820376588540424234035840667