質問編集履歴
4
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
for(i=0; i<num; i++) {
|
18
18
|
|
19
|
-
if(a[i]
|
19
|
+
if(a[i] >= 10)
|
20
20
|
|
21
21
|
sum += a[i] % 10;
|
22
22
|
|
3
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -38,14 +38,18 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
+
|
42
|
+
|
43
|
+
追記
|
44
|
+
|
41
|
-
また、各値
|
45
|
+
また、各値の桁の数を足し合わせてから、合計を計算する場合、前者の方法では
|
42
46
|
|
43
47
|
```C
|
44
48
|
|
45
49
|
for(i=0; i<num; i++)
|
46
50
|
|
47
|
-
sum += a[i] % 10 + (a[i] % 100) / 10 + (a[i] % 1000) / 100;
|
51
|
+
sum += a[i] % 10 + (a[i] % 100) / 10 + (a[i] % 1000) / 100..... ;
|
48
52
|
|
49
53
|
```
|
50
54
|
|
51
|
-
となり、もし値が1桁の場合だと計算が余分に多くなってしまい場合分けした方がいいとも思われます。
|
55
|
+
となり、もし値が1桁の場合だと計算が余分に多くなってしまい場合分けした方がいいとも思われますが場合によるのでしょうか。
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -35,3 +35,17 @@
|
|
35
35
|
後者に比べると前者は各値が10以上でなくても、つまり全ての値に対し"% 10"として合計に加えているので
|
36
36
|
|
37
37
|
無駄が多い気もしますが後者みたいに場合分けをするよりコードが単純で美しい気がします。
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
また、各値<1000であるときにおいて各値の桁の数を足し合わせてから、合計を計算する場合、前者の方法では
|
42
|
+
|
43
|
+
```C
|
44
|
+
|
45
|
+
for(i=0; i<num; i++)
|
46
|
+
|
47
|
+
sum += a[i] % 10 + (a[i] % 100) / 10 + (a[i] % 1000) / 100;
|
48
|
+
|
49
|
+
```
|
50
|
+
|
51
|
+
となり、もし値が1桁の場合だと計算が余分に多くなってしまい場合分けした方がいいとも思われます。
|
1
修正
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|