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