回答編集履歴

5

修正

2019/08/28 07:32

投稿

m.ts10806
m.ts10806

スコア80854

test CHANGED
@@ -78,4 +78,4 @@
78
78
 
79
79
 
80
80
 
81
- ※このまま提出して怒られても私は知りません。
81
+ [このまま](https://paiza.io/projects/p64Gh_BUx52UeJ5hbokQ4A)提出して怒られても私は知りません。

4

修正

2019/08/28 07:32

投稿

m.ts10806
m.ts10806

スコア80854

test CHANGED
@@ -1,7 +1,3 @@
1
- # このまま提出して怒られても私は知りません。
2
-
3
-
4
-
5
1
  ループ使えとのことなので
6
2
 
7
3
  3種ループ使いました。
@@ -79,3 +75,7 @@
79
75
  頑張ればしっかりコードを改行しても5行くらいで書けそうですね。
80
76
 
81
77
  がんばって!
78
+
79
+
80
+
81
+ ※このまま提出して怒られても私は知りません。

3

修正

2019/08/28 07:15

投稿

m.ts10806
m.ts10806

スコア80854

test CHANGED
@@ -1,4 +1,20 @@
1
+ # このまま提出して怒られても私は知りません。
2
+
3
+
4
+
5
+ ループ使えとのことなので
6
+
1
7
  3種ループ使いました。
8
+
9
+
10
+
11
+ 変な空白が気になったけど要件なのでそこも分岐させてみました。
12
+
13
+ **すごく冗長に「最後の番号」を求めてみました。**
14
+
15
+
16
+
17
+ もっと冗長に書けるはずなので精進せねばならないですね。
2
18
 
3
19
 
4
20
 

2

修正

2019/08/28 06:56

投稿

m.ts10806
m.ts10806

スコア80854

test CHANGED
@@ -34,9 +34,9 @@
34
34
 
35
35
  }
36
36
 
37
- $k = 1;
37
+ if(!is_null($lastnum)){
38
38
 
39
- if(!is_null($lastnum)){
39
+ $k = 1;
40
40
 
41
41
  while($k <= 9){
42
42
 
@@ -60,6 +60,6 @@
60
60
 
61
61
 
62
62
 
63
- 頑張ればしっかり改行しても5行くらいで書けそうですね。
63
+ 頑張ればしっかりコードを改行しても5行くらいで書けそうですね。
64
64
 
65
65
  がんばって!

1

修正

2019/08/28 06:47

投稿

m.ts10806
m.ts10806

スコア80854

test CHANGED
@@ -1,17 +1,65 @@
1
- 課題っぽのでヒントだけ
1
+ 3種ループ使ました
2
2
 
3
3
 
4
4
 
5
- [substr()](https://www.php.net/manual/ja/function.substr.php)で文字の切り出しができます。
5
+ ```php
6
6
 
7
+ <?php
8
+
7
- [strlen()](https://www.php.net/manual/ja/function.strlen.php)で文字の長さ(要は何文字か)を取得できます。
9
+ $gakusekibangou = 18039;
8
10
 
9
11
 
10
12
 
11
- substr()の第2引数は「何文字目から」の切り出し位置を1文字目を0として取得できます。
13
+ $ar = [];
12
14
 
15
+ $gakusekibangou .= "";
16
+
17
+ for($i=0;$i<strlen($gakusekibangou);$i++){
18
+
13
- 第3引数は「そこから何文字切り出すか」を指定します。
19
+ $ar[] = $gakusekibangou[$i];
20
+
21
+ }
14
22
 
15
23
 
16
24
 
25
+ $lastnum = null;
26
+
27
+ foreach($ar as $v=>$n){
28
+
29
+ if(($i-1) == $v){
30
+
31
+ $lastnum = $n;
32
+
33
+ }
34
+
35
+ }
36
+
37
+ $k = 1;
38
+
39
+ if(!is_null($lastnum)){
40
+
41
+ while($k <= 9){
42
+
43
+ $blank = '';
44
+
45
+ if($k <= 4){
46
+
47
+ $blank = ' ';
48
+
49
+ }
50
+
51
+ echo "{$lastnum} x {$k} = ".$blank.(intval($lastnum)*$k).PHP_EOL;
52
+
53
+ $k++;
54
+
55
+ }
56
+
57
+ }
58
+
59
+ ```
60
+
61
+
62
+
17
- 末尾の文字をとならstrlen()の結果から1引ば取れますね。
63
+ 頑張ればしっか改行しても5行くらで書そうですね。
64
+
65
+ がんばって!