質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.34%

ループを使った九九の作り方を教えてください

解決済

回答 4

投稿

  • 評価
  • クリップ 2
  • VIEW 769

score 116

自分の学籍番号最後の数字の段の九九を表示するプログラムを教えてください。
ループを使わないといけないです。
学籍番号は18039です。

$gakusekibangou = 18039;

function kuku(){

}


下のように出力したいです。

9 x 1 =   9
9 x 2 =   18
9 x 3 =   27
9 x 4 =   36
9 x 5 = 45
9 x 6 = 54
9 x 7 = 63
9 x 8 = 72
9 x 9 = 81

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    退会済みユーザー

    2019/08/28 16:35

    適切にタグを設定して欲しいので、「大喜利」というタグを追加してください。

    キャンセル

  • m.ts10806

    2019/08/28 16:36

    今はないみたいなので運営サイドにお願いしたいですね。

    キャンセル

  • 退会済みユーザー

    2019/08/30 19:34

    複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

回答 4

+5

ループを無理やり使いました。

function kuku(){
  for($i = 0; $i < 1; ++$i) {
    echo <<<EOS
9 x 1 =   9
9 x 2 =   18
9 x 3 =   27
9 x 4 =   36
9 x 5 = 45
9 x 6 = 54
9 x 7 = 63
9 x 8 = 72
9 x 9 = 81
EOS;
  }
}

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/08/28 15:29

    あぁ・・!そういうことか!
    大喜利だった。真面目に回答書こうとしてた

    キャンセル

  • 2019/08/28 15:31

    レッツ大喜利タイム!

    キャンセル

  • 2019/08/28 15:31

    投稿してしまった。直さないと・・。

    キャンセル

  • 2019/08/28 15:32

    kuku()使えと書いてないから使わなくても良さそう()

    キャンセル

checkベストアンサー

+4

よし、せっかくだから・・・ 学籍番号全部使うぜぃw

<?php
$gakusekibangou = 18039;
$gaku = (string)$gakusekibangou;

$arr = [
  (int)($gaku[0].$gaku[1])+(int)$gaku[2]+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)(string)((int)($gaku[0].$gaku[1])-(int)$gaku[4]+(int)($gaku[3]).$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  ((int)(($gaku[0]).(string)((int)($gaku[1]))*(int)($gaku[2])))+((int)($gaku[3].$gaku[4])),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)((string)((int)($gaku[4]-(int)$gaku[3])).$gaku[0])+((int)$gaku[1]*(int)$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0].$gaku[1])+(int)$gaku[2]+(int)($gaku[3].$gaku[4]),
  (int)$gaku[0]+(int)$gaku[1]*(int)$gaku[2]*(int)$gaku[3]+(int)$gaku[4],
  (int)($gaku[0].$gaku[1])+(int)$gaku[2]+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)(string)((int)($gaku[0].$gaku[1])-(int)$gaku[4]+(int)($gaku[3]).$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  ((int)$gaku[0]+(int)$gaku[4])*((int)$gaku[1]-(int)$gaku[2]-(int)$gaku[3]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)((string)((int)($gaku[4]-(int)$gaku[3])).$gaku[0])+((int)$gaku[1]*(int)$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  ((int)(($gaku[0]).(string)((int)($gaku[1]))*(int)($gaku[2])))+((int)($gaku[3].$gaku[4])),
  (int)$gaku[1]*((int)$gaku[0]+(int)$gaku[2]-(int)$gaku[3]+(int)$gaku[4]),
  (int)$gaku[0]+(int)$gaku[1]*(int)$gaku[2]*(int)$gaku[3]+(int)$gaku[4],
  (int)($gaku[0].$gaku[1])+(int)$gaku[2]+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)(string)((int)($gaku[0].$gaku[1])-(int)$gaku[4]+(int)($gaku[3]).$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0].$gaku[1].$gaku[2])/(int)$gaku[3]-(int)$gaku[4],
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)((string)((int)($gaku[4]-(int)$gaku[3])).$gaku[0])+((int)$gaku[1]*(int)$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  ((int)$gaku[0]+(int)$gaku[4])*((int)$gaku[1]-(int)$gaku[2]-(int)$gaku[3]),
  (-(int)$gaku[0]+(int)$gaku[1])+((int)$gaku[2]*(int)$gaku[3]*(int)$gaku[4]),
  (int)$gaku[0]+(int)$gaku[1]*(int)$gaku[2]*(int)$gaku[3]+(int)$gaku[4],
  (int)($gaku[0].$gaku[1])+(int)$gaku[2]+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)(string)((int)($gaku[0].$gaku[1])-(int)$gaku[4]+(int)($gaku[3]).$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  ((int)($gaku[4].$gaku[2])-(int)($gaku[3].$gaku[1])*(int)$gaku[0]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)((string)((int)($gaku[4]-(int)$gaku[3])).$gaku[0])+((int)$gaku[1]*(int)$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0].$gaku[1].$gaku[2])/(int)$gaku[3]-(int)$gaku[4],
  (int)($gaku[0].$gaku[1])/(int)($gaku[2].$gaku[3])*(int)$gaku[4],
  (int)$gaku[0]+(int)$gaku[1]*(int)$gaku[2]*(int)$gaku[3]+(int)$gaku[4],
  (int)($gaku[0].$gaku[1])+(int)$gaku[2]+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)(string)((int)($gaku[0].$gaku[1])-(int)$gaku[4]+(int)($gaku[3]).$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  ((int)($gaku[4].$gaku[2])-(int)($gaku[3].$gaku[1])+(int)$gaku[0]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)((string)((int)($gaku[4]-(int)$gaku[3])).$gaku[0])+((int)$gaku[1]*(int)$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  ((int)($gaku[4].$gaku[2])-(int)($gaku[3].$gaku[1])*(int)$gaku[0]),
  ((int)($gaku[4].$gaku[2])-(int)($gaku[3].$gaku[1])+(int)$gaku[0]),
  (int)$gaku[0]+(int)$gaku[1]*(int)$gaku[2]*(int)$gaku[3]+(int)$gaku[4],
  (int)($gaku[0].$gaku[1])+(int)$gaku[2]+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)(string)((int)($gaku[0].$gaku[1])-(int)$gaku[4]+(int)($gaku[3]).$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0].$gaku[1])/(int)($gaku[2].$gaku[3])*(int)$gaku[4],
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)((string)((int)($gaku[4]-(int)$gaku[3])).$gaku[0])+((int)$gaku[1]*(int)$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  ((int)($gaku[4].$gaku[2])-(int)($gaku[3].$gaku[1])+(int)$gaku[0]),
  ((int)($gaku[4].$gaku[2])-(int)($gaku[3].$gaku[1])*(int)$gaku[0]),
  (int)$gaku[0]+(int)$gaku[1]*(int)$gaku[2]*(int)$gaku[3]+(int)$gaku[4],
  (int)($gaku[0].$gaku[1])+(int)$gaku[2]+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)(string)((int)($gaku[0].$gaku[1])-(int)$gaku[4]+(int)($gaku[3]).$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (-(int)$gaku[0]+(int)$gaku[1])+((int)$gaku[2]*(int)$gaku[3]*(int)$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)((string)((int)($gaku[4]-(int)$gaku[3])).$gaku[0])+((int)$gaku[1]*(int)$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0].$gaku[1])/(int)($gaku[2].$gaku[3])*(int)$gaku[4],
  (int)($gaku[0].$gaku[1].$gaku[2])/(int)$gaku[3]-(int)$gaku[4],
  (int)$gaku[0]+(int)$gaku[1]*(int)$gaku[2]*(int)$gaku[3]+(int)$gaku[4],
  (int)($gaku[0].$gaku[1])+(int)$gaku[2]+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)(string)((int)($gaku[0].$gaku[1])-(int)$gaku[4]+(int)($gaku[3]).$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)$gaku[1]*((int)$gaku[0]+(int)$gaku[2]-(int)$gaku[3]+(int)$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)((string)((int)($gaku[4]-(int)$gaku[3])).$gaku[0])+((int)$gaku[1]*(int)$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (-(int)$gaku[0]+(int)$gaku[1])+((int)$gaku[2]*(int)$gaku[3]*(int)$gaku[4]),
  ((int)$gaku[0]+(int)$gaku[4])*((int)$gaku[1]-(int)$gaku[2]-(int)$gaku[3]),
  (int)$gaku[0]+(int)$gaku[1]*(int)$gaku[2]*(int)$gaku[3]+(int)$gaku[4],
  (int)($gaku[0].$gaku[1])+(int)$gaku[2]+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)(string)((int)($gaku[0].$gaku[1])-(int)$gaku[4]+(int)($gaku[3]).$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0].$gaku[1])+(int)$gaku[2]+(int)($gaku[3].$gaku[4]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)((string)((int)($gaku[4]-(int)$gaku[3])).$gaku[0])+((int)$gaku[1]*(int)$gaku[2]),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
  (int)$gaku[1]*((int)$gaku[0]+(int)$gaku[2]-(int)$gaku[3]+(int)$gaku[4]),
  ((int)(($gaku[0]).(string)((int)($gaku[1]))*(int)($gaku[2])))+((int)($gaku[3].$gaku[4])),
  (int)($gaku[0])-(int)($gaku[1])+(int)($gaku[2])+(int)($gaku[3].$gaku[4]),
];

function kuku($val){
  if($val===7)return 7;
  return chr($val);
}

foreach($arr as $val){
  echo kuku($val);
}


55 だけ作れませんでした。。。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/08/28 21:43

    なんかもう色々凄いことになってますね..

    キャンセル

+4

ループ使えとのことなので
3種ループ使いました。

変な空白が気になったけど要件なのでそこも分岐させてみました。
すごく冗長に「最後の番号」を求めてみました。

もっと冗長に書けるはずなので精進せねばならないですね。

<?php
$gakusekibangou = 18039;

$ar = [];
$gakusekibangou .= "";
for($i=0;$i<strlen($gakusekibangou);$i++){
    $ar[] = $gakusekibangou[$i];
}

$lastnum = null;
foreach($ar as $v=>$n){
    if(($i-1) == $v){
        $lastnum = $n;
    }
}
if(!is_null($lastnum)){
    $k = 1;
    while($k <= 9){
        $blank = '';
        if($k <= 4){
            $blank = '  ';
        }
        echo "{$lastnum} x {$k} = ".$blank.(intval($lastnum)*$k).PHP_EOL;
        $k++;
    }
}

頑張ればしっかりコードを改行しても5行くらいで書けそうですね。
がんばって!

このまま提出して怒られても私は知りません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/08/28 16:20

    あんまりテクニック入れたつもりはなかったですが、何かの参考になったら幸いです。

    キャンセル

  • 2019/08/28 16:34

    foreach と i の使い方がよい趣ですな(w

    キャンセル

  • 2019/08/28 16:40 編集

    カレンダーをテーブルで作ったときの残りの空白埋めるとかで使えない手ではないので応用してみました。
    (でも良い子はマネしちゃダメ)

    本当の正解コードをリンクしてみました。若干難読化をしてますけど。

    キャンセル

+3

よし、せっかくだから・・・

<?PHP

class myClac{
  private $num;
  public function __construct($num = null){
    set_error_handler([$this,'myErrorHandler']);
    try{
      if(!is_numeric($num)){
        trigger_error("Not Numeric err!",E_USER_WARNING);
      }
      $this->setNumber($num);
    }catch(exception $e){
      print $e->getMessage();
    }
  }
  private function myErrorHandler($errno, $errstr, $errfile, $errline){
    switch($errno) {
    case E_USER_WARNING;
      throw new exception("My WARNING:{$errstr}({$errno})<br>");
      break;
    default:
      return false;
    }
    return true;
  }
  private function setNumber($num = null){
    $this->num=$num;
  }
  private function getNumber(){
    return $this->num;
  }
  private function getNumberEnd(){
    $num= $this->getNumber();
    return $num % 10;
  }
  public function kuku(){
    try{
      if(!is_numeric($this->getNumber())){
        trigger_error("Not Numeric err!",E_USER_WARNING);
      }
      for($i=1;$i<=9;$i++){
        printf("%d x %d = %d<br>".PHP_EOL,$this->getNumberEnd(),$i,$i*$this->getNumberEnd());
      }
    }catch(exception $e){
      print $e->getMessage();
    }
  }
}
$calc=new myClac(); //失敗
$calc=new myClac("a"); //失敗
$calc->kuku(); //失敗

$gakusekibangou = 18039;
$calc=new myClac($gakusekibangou);
$calc->kuku();

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/08/28 17:06

    FizzBuzz Enterprise Editionを思い出しました。

    https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition

    キャンセル

  • 2019/08/28 17:08

    エラーハンドリングの教科書・・・

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.34%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る