fork download
  1. #include <iostream>
  2. #include <cstdint>
  3.  
  4. std::uintmax_t MakeHoge(std::uintmax_t N) {
  5.  
  6. std::uintmax_t R = 1;
  7. if (N == 0) { return 0; }
  8. if (N == 1) { return 1; }
  9. while (N) {
  10. if (N == 3) {
  11. N -= 3;
  12. R *= 3;
  13. }else{
  14. N -= 2;
  15. R *= 2;
  16. }
  17. //n== 1 is R*1=?.
  18. }
  19. return R;
  20. }
  21.  
  22. std::uintmax_t MakeHoge2(std::uintmax_t N) {
  23.  
  24. std::uintmax_t R = 1;
  25. if (N == 0) { return 0; }
  26. if (N == 1) { return 1; }
  27. while (N) {
  28. if (N %3==0) {
  29. N -= 3;
  30. R *= 3;
  31. }
  32. else{
  33. N -= 2;
  34. R *= 2;
  35. }
  36. //n== 1 is R*1=?.
  37. }
  38. return R;
  39. }
  40. std::uintmax_t MakeHoge22(std::uintmax_t N) {
  41.  
  42. std::uintmax_t R = 1;
  43. if (N == 0) { return 0; }
  44. if (N == 1) { return 1; }
  45. while (N) {
  46. if (N % 2) {
  47. N -= 3;
  48. R *= 3;
  49. }
  50. else{
  51. N -= 2;
  52. R *= 2;
  53. }
  54. if (N == 1) { N--; }
  55. //n== 1 is R*1=?.
  56. }
  57. return R;
  58. }
  59. std::uintmax_t MakeHoge3(std::uintmax_t N) {//適当素因数分解??
  60.  
  61. std::uintmax_t R = 1;
  62. if (N == 0) { return 0; }
  63. if (N == 1) { return 1; }
  64. for (std::uintmax_t i = 2; N; i++) {
  65. while (N % i == 0&&N) {
  66. N -= i;
  67. R *= i;
  68.  
  69.  
  70. }
  71. }
  72. return R;
  73. }
  74.  
  75. int main() {
  76.  
  77. for (std::size_t i = 0; i <= 100; i++) {
  78. std::uintmax_t N1 = MakeHoge(i);
  79. std::uintmax_t N2 = MakeHoge2(i);
  80. std::uintmax_t N22 = MakeHoge22(i);
  81. std::uintmax_t N3 = MakeHoge3(i);
  82. std::cout << i << '{'
  83. << std::endl << N1
  84. << std::endl << N2
  85. << std::endl << N22
  86. << std::endl << N3
  87. << std::endl << '}' << std::endl;
  88. }
  89.  
  90. return 0;
  91. }
Success #stdin #stdout 0s 4528KB
stdin
Standard input is empty
stdout
0{
0
0
0
0
}
1{
1
1
1
1
}
2{
2
2
2
2
}
3{
3
3
3
3
}
4{
4
4
4
4
}
5{
6
6
6
5
}
6{
8
9
8
8
}
7{
12
12
12
7
}
8{
16
18
16
16
}
9{
24
27
24
27
}
10{
32
36
32
32
}
11{
48
54
48
11
}
12{
64
81
64
64
}
13{
96
108
96
13
}
14{
128
162
128
128
}
15{
192
243
192
243
}
16{
256
324
256
256
}
17{
384
486
384
17
}
18{
512
729
512
512
}
19{
768
972
768
19
}
20{
1024
1458
1024
1024
}
21{
1536
2187
1536
2187
}
22{
2048
2916
2048
2048
}
23{
3072
4374
3072
23
}
24{
4096
6561
4096
4096
}
25{
6144
8748
6144
3125
}
26{
8192
13122
8192
8192
}
27{
12288
19683
12288
19683
}
28{
16384
26244
16384
16384
}
29{
24576
39366
24576
29
}
30{
32768
59049
32768
32768
}
31{
49152
78732
49152
31
}
32{
65536
118098
65536
65536
}
33{
98304
177147
98304
177147
}
34{
131072
236196
131072
131072
}
35{
196608
354294
196608
78125
}
36{
262144
531441
262144
262144
}
37{
393216
708588
393216
37
}
38{
524288
1062882
524288
524288
}
39{
786432
1594323
786432
1594323
}
40{
1048576
2125764
1048576
1048576
}
41{
1572864
3188646
1572864
41
}
42{
2097152
4782969
2097152
2097152
}
43{
3145728
6377292
3145728
43
}
44{
4194304
9565938
4194304
4194304
}
45{
6291456
14348907
6291456
14348907
}
46{
8388608
19131876
8388608
8388608
}
47{
12582912
28697814
12582912
47
}
48{
16777216
43046721
16777216
16777216
}
49{
25165824
57395628
25165824
823543
}
50{
33554432
86093442
33554432
33554432
}
51{
50331648
129140163
50331648
129140163
}
52{
67108864
172186884
67108864
67108864
}
53{
100663296
258280326
100663296
53
}
54{
134217728
387420489
134217728
134217728
}
55{
201326592
516560652
201326592
48828125
}
56{
268435456
774840978
268435456
268435456
}
57{
402653184
1162261467
402653184
1162261467
}
58{
536870912
1549681956
536870912
536870912
}
59{
805306368
2324522934
805306368
59
}
60{
1073741824
3486784401
1073741824
1073741824
}
61{
1610612736
4649045868
1610612736
61
}
62{
2147483648
6973568802
2147483648
2147483648
}
63{
3221225472
10460353203
3221225472
10460353203
}
64{
4294967296
13947137604
4294967296
4294967296
}
65{
6442450944
20920706406
6442450944
1220703125
}
66{
8589934592
31381059609
8589934592
8589934592
}
67{
12884901888
41841412812
12884901888
67
}
68{
17179869184
62762119218
17179869184
17179869184
}
69{
25769803776
94143178827
25769803776
94143178827
}
70{
34359738368
125524238436
34359738368
34359738368
}
71{
51539607552
188286357654
51539607552
71
}
72{
68719476736
282429536481
68719476736
68719476736
}
73{
103079215104
376572715308
103079215104
73
}
74{
137438953472
564859072962
137438953472
137438953472
}
75{
206158430208
847288609443
206158430208
847288609443
}
76{
274877906944
1129718145924
274877906944
274877906944
}
77{
412316860416
1694577218886
412316860416
1977326743
}
78{
549755813888
2541865828329
549755813888
549755813888
}
79{
824633720832
3389154437772
824633720832
79
}
80{
1099511627776
5083731656658
1099511627776
1099511627776
}
81{
1649267441664
7625597484987
1649267441664
7625597484987
}
82{
2199023255552
10167463313316
2199023255552
2199023255552
}
83{
3298534883328
15251194969974
3298534883328
83
}
84{
4398046511104
22876792454961
4398046511104
4398046511104
}
85{
6597069766656
30502389939948
6597069766656
762939453125
}
86{
8796093022208
45753584909922
8796093022208
8796093022208
}
87{
13194139533312
68630377364883
13194139533312
68630377364883
}
88{
17592186044416
91507169819844
17592186044416
17592186044416
}
89{
26388279066624
137260754729766
26388279066624
89
}
90{
35184372088832
205891132094649
35184372088832
35184372088832
}
91{
52776558133248
274521509459532
52776558133248
96889010407
}
92{
70368744177664
411782264189298
70368744177664
70368744177664
}
93{
105553116266496
617673396283947
105553116266496
617673396283947
}
94{
140737488355328
823564528378596
140737488355328
140737488355328
}
95{
211106232532992
1235346792567894
211106232532992
19073486328125
}
96{
281474976710656
1853020188851841
281474976710656
281474976710656
}
97{
422212465065984
2470693585135788
422212465065984
97
}
98{
562949953421312
3706040377703682
562949953421312
562949953421312
}
99{
844424930131968
5559060566555523
844424930131968
5559060566555523
}
100{
1125899906842624
7412080755407364
1125899906842624
1125899906842624
}