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

回答編集履歴

5

追記

2020/05/18 07:03

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -2,4 +2,34 @@
2
2
 
3
3
  ---
4
4
  そもそも数字は数種類しか無いのですから、各数字が何個あるか数えれば充分なように思います。
5
- あるいは一桁ずつ逐次数値化して足していくか。
5
+ あるいは一桁ずつ逐次数値化して足していくか。
6
+
7
+ 書いてみた
8
+ ---
9
+ ちょっと面白そうだったので。
10
+ ```Java
11
+ import java.io.*;
12
+ import java.util.*;
13
+
14
+ class Main {
15
+ private static boolean m(BufferedReader br) throws IOException {
16
+ String digits = br.readLine();
17
+ if(digits.equals("0")) return false;
18
+
19
+ System.out.println(
20
+ digits.chars().map(v -> v - '0').sum()
21
+ );
22
+ return true;
23
+ }
24
+
25
+ public static void main(String[] args) throws IOException {
26
+ try(InputStreamReader isr = new InputStreamReader(System.in);
27
+ BufferedReader br = new BufferedReader(isr);
28
+ ) {
29
+ while(m(br));
30
+ }
31
+ }
32
+ }
33
+ ```
34
+
35
+ AOJのJavaは結構古そう。varとおらないし... Java8かJava9でしょうか。

4

追記

2020/05/18 07:03

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,4 +1,5 @@
1
1
  a[i]=="0" を a[i].equals("0") にして下さい。
2
2
 
3
3
  ---
4
- そもそも数字は数種類しか無いのですから、各数字が何個あるか数えれば充分なように思います。
4
+ そもそも数字は数種類しか無いのですから、各数字が何個あるか数えれば充分なように思います。
5
+ あるいは一桁ずつ逐次数値化して足していくか。

3

追記

2020/05/18 06:19

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,1 +1,4 @@
1
- a[i]=="0" を a[i].equals("0") にして下さい。
1
+ a[i]=="0" を a[i].equals("0") にして下さい。
2
+
3
+ ---
4
+ そもそも数字は数種類しか無いのですから、各数字が何個あるか数えれば充分なように思います。

2

一旦取り消し

2020/05/18 06:19

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,5 +1,1 @@
1
- a[i]=="0" を a[i].equals("0") にして下さい。
1
+ a[i]=="0" を a[i].equals("0") にして下さい。
2
-
3
- > 数がとても大きいのでlong型でもはいりきらない
4
-
5
- BigIntegerについて調べると幸せになれるかもしれません。

1

追記

2020/05/18 06:17

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -1,1 +1,5 @@
1
- a[i]=="0" を a[i].equals("0") にして下さい。
1
+ a[i]=="0" を a[i].equals("0") にして下さい。
2
+
3
+ > 数がとても大きいのでlong型でもはいりきらない
4
+
5
+ BigIntegerについて調べると幸せになれるかもしれません。