teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

ソースの訂正

2018/04/18 03:20

投稿

退会済みユーザー
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

ソースの追加

2018/04/18 03:20

投稿

退会済みユーザー
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
  ```