回答編集履歴

6

変数名をもう少しましなものに変更

2018/05/07 13:03

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -22,25 +22,25 @@
22
22
 
23
23
  int n = 入力;
24
24
 
25
- int dst = 入力; // 暫定的に『ゼロに一番近い値』とみなす。
25
+ int result = 入力; // 暫定的に『ゼロに一番近い値』とみなす。
26
26
 
27
27
 
28
28
 
29
29
  for(n回繰り返す) {
30
30
 
31
- int src = 入力;
31
+ int num = 入力;
32
32
 
33
33
 
34
34
 
35
- srcとdstの絶対値をそれぞれ計算;
35
+ numとresultの絶対値をそれぞれ計算;
36
36
 
37
- if(srcの絶対値 < dstの絶対値) {
37
+ if(numの絶対値 < resultの絶対値) {
38
38
 
39
- dst = src;
39
+ result = num;
40
40
 
41
41
  }
42
42
 
43
- else if(srcの絶対値 > dstの絶対値) {
43
+ else if(numの絶対値 > resultの絶対値) {
44
44
 
45
45
  // 更新は不要
46
46
 
@@ -48,7 +48,7 @@
48
48
 
49
49
  else {
50
50
 
51
- dst = srcとdstのうち大きい方;
51
+ result = numとresultのうち大きい方;
52
52
 
53
53
  }
54
54
 
@@ -58,7 +58,7 @@
58
58
 
59
59
 
60
60
 
61
- 変数名が真っ適当ですが、悪しからず。
61
+ 変数名が適当ですが、悪しからず。
62
62
 
63
63
 
64
64
 
@@ -74,7 +74,17 @@
74
74
 
75
75
  static int getNearlyZero(int a, int b) {
76
76
 
77
- // 実装はほんど同じ
77
+ aの絶対値bの絶対値をそれぞれ計算;
78
+
79
+
80
+
81
+ if(aの絶対値 < bの絶対値) return a;
82
+
83
+ if(aの絶対値 > bの絶対値) return b;
84
+
85
+
86
+
87
+ return aとbのうち大きい方;
78
88
 
79
89
  }
80
90
 
@@ -86,13 +96,13 @@
86
96
 
87
97
 
88
98
 
89
- int dst = ...;
99
+ int result = ...;
90
100
 
91
101
  for(...) {
92
102
 
93
- int src = ...;
103
+ int num = ...;
94
104
 
95
- dst = getNearlyZero(dst, src);
105
+ result = getNearlyZero(result, num);
96
106
 
97
107
  }
98
108
 

5

修正

2018/05/07 13:03

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -36,13 +36,13 @@
36
36
 
37
37
  if(srcの絶対値 < dstの絶対値) {
38
38
 
39
- dst = src;
39
+ dst = src;
40
40
 
41
41
  }
42
42
 
43
43
  else if(srcの絶対値 > dstの絶対値) {
44
44
 
45
- // 更新は不要
45
+ // 更新は不要
46
46
 
47
47
  }
48
48
 

4

見づらいので、タイトルを付けた

2018/05/07 11:55

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -11,6 +11,8 @@
11
11
  ここで`Minus.size() * -1`をanswerに放り込んでいるのが直接的原因では。
12
12
 
13
13
 
14
+
15
+ そもそも
14
16
 
15
17
  ---
16
18
 
@@ -60,6 +62,8 @@
60
62
 
61
63
 
62
64
 
65
+ さらに
66
+
63
67
  ---
64
68
 
65
69
  メソッドを利用するともっと簡潔です。

3

追記

2018/05/07 11:43

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -57,3 +57,41 @@
57
57
 
58
58
 
59
59
  変数名が真っ適当ですが、悪しからず。
60
+
61
+
62
+
63
+ ---
64
+
65
+ メソッドを利用するともっと簡潔です。
66
+
67
+ ```Java
68
+
69
+ // 絶対値がゼロに近い方を返す。絶対値が同じ場合正の数を返す。
70
+
71
+ static int getNearlyZero(int a, int b) {
72
+
73
+ // 実装はほとんど同じ
74
+
75
+ }
76
+
77
+
78
+
79
+ public static void main(String[] args) {
80
+
81
+ ...
82
+
83
+
84
+
85
+ int dst = ...;
86
+
87
+ for(...) {
88
+
89
+ int src = ...;
90
+
91
+ dst = getNearlyZero(dst, src);
92
+
93
+ }
94
+
95
+ }
96
+
97
+ ```

2

追記

2018/05/07 11:40

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -53,3 +53,7 @@
53
53
  }
54
54
 
55
55
  ```
56
+
57
+
58
+
59
+ 変数名が真っ適当ですが、悪しからず。

1

追記

2018/05/07 11:31

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -9,3 +9,47 @@
9
9
 
10
10
 
11
11
  ここで`Minus.size() * -1`をanswerに放り込んでいるのが直接的原因では。
12
+
13
+
14
+
15
+ ---
16
+
17
+ 難しく考えすぎな気もします。
18
+
19
+ ```Java
20
+
21
+ int n = 入力;
22
+
23
+ int dst = 入力; // 暫定的に『ゼロに一番近い値』とみなす。
24
+
25
+
26
+
27
+ for(n回繰り返す) {
28
+
29
+ int src = 入力;
30
+
31
+
32
+
33
+ srcとdstの絶対値をそれぞれ計算;
34
+
35
+ if(srcの絶対値 < dstの絶対値) {
36
+
37
+ dst = src;
38
+
39
+ }
40
+
41
+ else if(srcの絶対値 > dstの絶対値) {
42
+
43
+ // 更新は不要
44
+
45
+ }
46
+
47
+ else {
48
+
49
+ dst = srcとdstのうち大きい方;
50
+
51
+ }
52
+
53
+ }
54
+
55
+ ```