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

回答編集履歴

4

更に修正

2016/02/18 09:33

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -25,4 +25,4 @@
25
25
 
26
26
  単純に10進法で処理しているので効率が悪いです。9進法にて処理すれば効率は落ちません。
27
27
  是非、9進法による処理にチャレンジされてみてください。
28
- `for (int i=0; i < 10*10; ++i)`は、`for (int i=0; i < 9*9; ++i)`となり、かつ、`if (((i/10)==0) || ((i%10)==0)) continue;`は条件を1つにきます。
28
+ `for (int i=0; i < 10*10; ++i)`は、`for (int i=0; i < 9*9; ++i)`となり、かつ、`if (((i/10)==0) || ((i%10)==0)) continue;`はやっぱり無くせる筈です。

3

修正

2016/02/18 09:33

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -10,7 +10,7 @@
10
10
  for (int i=0; i < 10*10; ++i)
11
11
  {
12
12
  if (((i/10)==0) || ((i%10)==0))
13
- continue;
13
+ continue;
14
14
 
15
15
  if ((i%10) < 9) {
16
16
  printf("%2d,", (i%10)*(i/10));
@@ -25,4 +25,4 @@
25
25
 
26
26
  単純に10進法で処理しているので効率が悪いです。9進法にて処理すれば効率は落ちません。
27
27
  是非、9進法による処理にチャレンジされてみてください。
28
- `for (int i=0; i < 10*10; ++i)`は、`for (int i=0; i < 9*9; ++i)`となり、かつ、`if (((i/10)==0) || ((i%10)==0)) continue;`は不要なります。
28
+ `for (int i=0; i < 10*10; ++i)`は、`for (int i=0; i < 9*9; ++i)`となり、かつ、`if (((i/10)==0) || ((i%10)==0)) continue;`は条件を1つできます。

2

先頭のif文が不要だった

2016/02/18 09:31

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -10,11 +10,9 @@
10
10
  for (int i=0; i < 10*10; ++i)
11
11
  {
12
12
  if (((i/10)==0) || ((i%10)==0))
13
- continue;
13
+ continue;
14
14
 
15
- if ((i%10)==1) {
16
- printf("%2d,", i/10);
17
- } else if ((i%10) < 9) {
15
+ if ((i%10) < 9) {
18
16
  printf("%2d,", (i%10)*(i/10));
19
17
  } else {
20
18
  printf("%2d\n", (i%10)*(i/10));

1

インデント修正

2016/02/18 09:27

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -10,7 +10,7 @@
10
10
  for (int i=0; i < 10*10; ++i)
11
11
  {
12
12
  if (((i/10)==0) || ((i%10)==0))
13
- continue;
13
+ continue;
14
14
 
15
15
  if ((i%10)==1) {
16
16
  printf("%2d,", i/10);