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.  
  41. std::uintmax_t MakeHoge3(std::uintmax_t N) {//適当素因数分解??
  42.  
  43. std::uintmax_t R = 1;
  44. if (N == 0) { return 0; }
  45. if (N == 1) { return 1; }
  46. for (std::uintmax_t i = 2; N; i++) {
  47. while (N % i == 0&&N) {
  48. N -= i;
  49. R *= i;
  50.  
  51.  
  52. }
  53. }
  54. return R;
  55. }
  56.  
  57. int main() {
  58.  
  59. for (std::size_t i = 0; i <= 100; i++) {
  60. std::uintmax_t N1 = MakeHoge(i);
  61. std::uintmax_t N2 = MakeHoge2(i);
  62. std::uintmax_t N3 = MakeHoge3(i);
  63. std::cout << i << '{'<<std::endl << N1<<std::endl <<N2<<std::endl<<N3<<std::endl<<'}'<<std::endl<<std::endl;
  64. }
  65.  
  66. return 0;
  67. }
Success #stdin #stdout 0s 4544KB
stdin
Standard input is empty
stdout
0{
0
0
0
}

1{
1
1
1
}

2{
2
2
2
}

3{
3
3
3
}

4{
4
4
4
}

5{
6
6
5
}

6{
8
9
8
}

7{
12
12
7
}

8{
16
18
16
}

9{
24
27
27
}

10{
32
36
32
}

11{
48
54
11
}

12{
64
81
64
}

13{
96
108
13
}

14{
128
162
128
}

15{
192
243
243
}

16{
256
324
256
}

17{
384
486
17
}

18{
512
729
512
}

19{
768
972
19
}

20{
1024
1458
1024
}

21{
1536
2187
2187
}

22{
2048
2916
2048
}

23{
3072
4374
23
}

24{
4096
6561
4096
}

25{
6144
8748
3125
}

26{
8192
13122
8192
}

27{
12288
19683
19683
}

28{
16384
26244
16384
}

29{
24576
39366
29
}

30{
32768
59049
32768
}

31{
49152
78732
31
}

32{
65536
118098
65536
}

33{
98304
177147
177147
}

34{
131072
236196
131072
}

35{
196608
354294
78125
}

36{
262144
531441
262144
}

37{
393216
708588
37
}

38{
524288
1062882
524288
}

39{
786432
1594323
1594323
}

40{
1048576
2125764
1048576
}

41{
1572864
3188646
41
}

42{
2097152
4782969
2097152
}

43{
3145728
6377292
43
}

44{
4194304
9565938
4194304
}

45{
6291456
14348907
14348907
}

46{
8388608
19131876
8388608
}

47{
12582912
28697814
47
}

48{
16777216
43046721
16777216
}

49{
25165824
57395628
823543
}

50{
33554432
86093442
33554432
}

51{
50331648
129140163
129140163
}

52{
67108864
172186884
67108864
}

53{
100663296
258280326
53
}

54{
134217728
387420489
134217728
}

55{
201326592
516560652
48828125
}

56{
268435456
774840978
268435456
}

57{
402653184
1162261467
1162261467
}

58{
536870912
1549681956
536870912
}

59{
805306368
2324522934
59
}

60{
1073741824
3486784401
1073741824
}

61{
1610612736
4649045868
61
}

62{
2147483648
6973568802
2147483648
}

63{
3221225472
10460353203
10460353203
}

64{
4294967296
13947137604
4294967296
}

65{
6442450944
20920706406
1220703125
}

66{
8589934592
31381059609
8589934592
}

67{
12884901888
41841412812
67
}

68{
17179869184
62762119218
17179869184
}

69{
25769803776
94143178827
94143178827
}

70{
34359738368
125524238436
34359738368
}

71{
51539607552
188286357654
71
}

72{
68719476736
282429536481
68719476736
}

73{
103079215104
376572715308
73
}

74{
137438953472
564859072962
137438953472
}

75{
206158430208
847288609443
847288609443
}

76{
274877906944
1129718145924
274877906944
}

77{
412316860416
1694577218886
1977326743
}

78{
549755813888
2541865828329
549755813888
}

79{
824633720832
3389154437772
79
}

80{
1099511627776
5083731656658
1099511627776
}

81{
1649267441664
7625597484987
7625597484987
}

82{
2199023255552
10167463313316
2199023255552
}

83{
3298534883328
15251194969974
83
}

84{
4398046511104
22876792454961
4398046511104
}

85{
6597069766656
30502389939948
762939453125
}

86{
8796093022208
45753584909922
8796093022208
}

87{
13194139533312
68630377364883
68630377364883
}

88{
17592186044416
91507169819844
17592186044416
}

89{
26388279066624
137260754729766
89
}

90{
35184372088832
205891132094649
35184372088832
}

91{
52776558133248
274521509459532
96889010407
}

92{
70368744177664
411782264189298
70368744177664
}

93{
105553116266496
617673396283947
617673396283947
}

94{
140737488355328
823564528378596
140737488355328
}

95{
211106232532992
1235346792567894
19073486328125
}

96{
281474976710656
1853020188851841
281474976710656
}

97{
422212465065984
2470693585135788
97
}

98{
562949953421312
3706040377703682
562949953421312
}

99{
844424930131968
5559060566555523
5559060566555523
}

100{
1125899906842624
7412080755407364
1125899906842624
}