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

回答編集履歴

5

修正

2019/08/28 07:32

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -38,4 +38,4 @@
38
38
  頑張ればしっかりコードを改行しても5行くらいで書けそうですね。
39
39
  がんばって!
40
40
 
41
- ※このまま提出して怒られても私は知りません。
41
+ [このまま](https://paiza.io/projects/p64Gh_BUx52UeJ5hbokQ4A)提出して怒られても私は知りません。

4

修正

2019/08/28 07:32

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -1,5 +1,3 @@
1
- # このまま提出して怒られても私は知りません。
2
-
3
1
  ループ使えとのことなので
4
2
  3種ループ使いました。
5
3
 
@@ -38,4 +36,6 @@
38
36
  ```
39
37
 
40
38
  頑張ればしっかりコードを改行しても5行くらいで書けそうですね。
41
- がんばって!
39
+ がんばって!
40
+
41
+ ※このまま提出して怒られても私は知りません。

3

修正

2019/08/28 07:15

投稿

m.ts10806
m.ts10806

スコア80888

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

2

修正

2019/08/28 06:56

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -16,8 +16,8 @@
16
16
  $lastnum = $n;
17
17
  }
18
18
  }
19
- $k = 1;
20
19
  if(!is_null($lastnum)){
20
+ $k = 1;
21
21
  while($k <= 9){
22
22
  $blank = '';
23
23
  if($k <= 4){
@@ -29,5 +29,5 @@
29
29
  }
30
30
  ```
31
31
 
32
- 頑張ればしっかり改行しても5行くらいで書けそうですね。
32
+ 頑張ればしっかりコードを改行しても5行くらいで書けそうですね。
33
33
  がんばって!

1

修正

2019/08/28 06:47

投稿

m.ts10806
m.ts10806

スコア80888

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