回答編集履歴
2
ソースの訂正
answer
CHANGED
@@ -74,7 +74,10 @@
|
|
74
74
|
}
|
75
75
|
}
|
76
76
|
```
|
77
|
+
|
77
78
|
皆さんに指摘されたところをもとに書き直したものを載せておきます。
|
79
|
+
|
80
|
+
|
78
81
|
```Java
|
79
82
|
public class Sum {
|
80
83
|
|
1
ソースの追加
answer
CHANGED
@@ -73,4 +73,56 @@
|
|
73
73
|
System.out.println("奇数の和:" + sum2);
|
74
74
|
}
|
75
75
|
}
|
76
|
+
```
|
77
|
+
皆さんに指摘されたところをもとに書き直したものを載せておきます。
|
78
|
+
```Java
|
79
|
+
public class Sum {
|
80
|
+
|
81
|
+
public static void main(String[] args) {
|
82
|
+
|
83
|
+
Scanner sc = new Scanner(System.in);
|
84
|
+
int []num = new int[2];
|
85
|
+
|
86
|
+
for(int i = 0; i < 2; i++){
|
87
|
+
num[i] = Integer.parseInt(sc.nextLine());
|
88
|
+
}
|
89
|
+
|
90
|
+
int tmp;
|
91
|
+
if(num[0] >= num[1]){
|
92
|
+
tmp = num[0];
|
93
|
+
num[0] = num[1];
|
94
|
+
num[1] = tmp;
|
95
|
+
}
|
96
|
+
int []maxmin = new int[4]; //偶数の最小値、偶数の最大値, 奇数の最小値 、奇数の最大値
|
97
|
+
|
98
|
+
for(int i = 0; i < 4; i++){
|
99
|
+
maxmin[i] = num[i % 2] + ruijou_1(i) * (num[i % 2] + i / 2) % 2;
|
100
|
+
}
|
101
|
+
int all = (num[1] + num[0]) * (num[1] - num[0] + 1) / 2;
|
102
|
+
int []sum = new int[2];
|
103
|
+
sum[1] = ((maxmin[3] + 1) * (maxmin[3] + 1) - (maxmin[2] - 1) * (maxmin[2] - 1)) / 4;
|
104
|
+
sum[0] = all - sum[1];
|
105
|
+
|
106
|
+
String []text = {"偶数:","奇数:"};
|
107
|
+
|
108
|
+
for(int i = 0; i < 2; i++){
|
109
|
+
System.out.print(text[i]);
|
110
|
+
for(int j = maxmin[i * 2]; j <= maxmin[i * 2 + 1];j++){
|
111
|
+
if(j % 2 == i){
|
112
|
+
System.out.print(j + " ");
|
113
|
+
}
|
114
|
+
}
|
115
|
+
System.out.println("合計値:" + sum[i]);
|
116
|
+
}
|
117
|
+
|
118
|
+
}
|
119
|
+
public static int ruijou_1(int n){
|
120
|
+
if(n % 2 == 0){
|
121
|
+
return 1;
|
122
|
+
}
|
123
|
+
else{
|
124
|
+
return -1;
|
125
|
+
}
|
126
|
+
}
|
127
|
+
}
|
76
128
|
```
|