質問編集履歴

4

修正

2019/03/12 11:44

投稿

apeirogon0813
apeirogon0813

スコア117

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] <= 10)
19
+ if(a[i] >= 10)
20
20
 
21
21
  sum += a[i] % 10;
22
22
 

3

追記

2019/03/12 11:44

投稿

apeirogon0813
apeirogon0813

スコア117

test CHANGED
File without changes
test CHANGED
@@ -38,14 +38,18 @@
38
38
 
39
39
 
40
40
 
41
+
42
+
43
+ 追記
44
+
41
- また、各値<1000であるときにおいて各値の桁の数を足し合わせてから、合計を計算する場合、前者の方法では
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

追記

2019/03/12 11:43

投稿

apeirogon0813
apeirogon0813

スコア117

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

修正

2019/03/12 11:41

投稿

apeirogon0813
apeirogon0813

スコア117

test CHANGED
File without changes
test CHANGED
File without changes