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

回答編集履歴

3

修正

2018/02/08 12:04

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -4,13 +4,13 @@
4
4
  ヒント
5
5
  初期値: d = 0, base = 1, b = 1110(が入力されたとする)
6
6
  いっかいめ
7
-   b%10 : bを10で割った余り. すなわちdの一桁目 1110 の 0
7
+   b%10 : bを10で割った余り. すなわちbの一桁目 1110 の 0
8
8
    d = d + (b % 10) * base; : 一桁目をbase倍 つまり d = 0 + (0)*1 → d = 0
9
9
    b = b / 10; : b = 1110 / 10 → b = 111 (桁がひとつズレた)
10
10
    base = base * 2; : base = 1*2 → base = 2
11
11
 
12
12
  にかいめ
13
-  b%10 : bを10で割った余り. すなわちdの一桁目 111 の 1
13
+  b%10 : bを10で割った余り. すなわちbの一桁目 111 の 1
14
14
  d = d + (b % 10) * base; : 一桁目をbase倍 つまり d = 0 + (1)*2 → d = 2
15
15
  b = b / 10; : b = 111 / 10 → b = 11 (桁がひとつズレた)
16
16
  base = base * 2; : base = 2*2 → base = 4

2

追記

2018/02/08 12:03

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -1,2 +1,18 @@
1
1
  ...これ、正しく動くんですか?
2
- タイトル通り、111 を入力すると 7 が出力されますか? 1110 に対し 14 と出力されますか?
2
+ タイトル通り、111 を入力すると 7 が出力されますか? 1110 に対し 14 と出力されますか?
3
+
4
+ ヒント
5
+ 初期値: d = 0, base = 1, b = 1110(が入力されたとする)
6
+ いっかいめ
7
+   b%10 : bを10で割った余り. すなわちdの一桁目 1110 の 0
8
+   d = d + (b % 10) * base; : 一桁目をbase倍 つまり d = 0 + (0)*1 → d = 0
9
+   b = b / 10; : b = 1110 / 10 → b = 111 (桁がひとつズレた)
10
+   base = base * 2; : base = 1*2 → base = 2
11
+
12
+ にかいめ
13
+  b%10 : bを10で割った余り. すなわちdの一桁目 111 の 1
14
+ d = d + (b % 10) * base; : 一桁目をbase倍 つまり d = 0 + (1)*2 → d = 2
15
+ b = b / 10; : b = 111 / 10 → b = 11 (桁がひとつズレた)
16
+ base = base * 2; : base = 2*2 → base = 4
17
+
18
+ さんかいめ以降は考えよう。

1

加筆

2018/02/08 04:20

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -1,2 +1,2 @@
1
1
  ...これ、正しく動くんですか?
2
- タイトル通り、111 を入力すると 7 が出力されますか?
2
+ タイトル通り、111 を入力すると 7 が出力されますか? 1110 に対し 14 と出力されますか?