また、n桁の自然数にmを含むかどうかを判定する関数を作成するにはどうしたらいいですか?
困っています、教えてください。
回答ではないのでポイント不要です。
質問文の意味が明確じゃないようです。
2桁の自然数に5が含むというのは、公約数に5が含むということなのか。
自然数が2桁だけあって、その中に5があるかどうかということなのか。
前ならば5で割って余りがあるか、後ろならば総当りして調べる関数となりましょう。
質問の下の方に【コメント・トラックバック表示】という設定項目がありますので、そこを【回答受付中にコメント・トラックバックを表示する 】に変更すれば、下のコメント欄で不明な点を指摘できるようになりますので変更した方がよろしいかと思います。
とりあえずphpですが...
違うことでしたらポイント不要です。
http://q.hatena.ne.jp/1226241932
$no = "45"; $check = check5($no); function check5($no){ if(ereg(5,$no)){ return 1; } }
$n = "1234567890"; $m = 3; $check = check($n,$m); function check($n,$m){ if(ereg($m,$n)){ return 1; } }
回答していただきありがとうございます。プログラムの仕方として、emacsでプログラミングする
方法を教えてください。お願いします。
文字列に変換して判定するのが簡単です。
(defun check (num m)
(interactive "nNumber-to-check:\nnNumber-to-be-included:")
(string-match (format "%d" m) (format "%d" num)))
リターン値は、含まれる:non-nil、含まれない:nil です。
ただし、チェック対象の自然数の桁数は考慮していません。
2桁でもn桁でもこれで通ります。
(check 302) --> nil
(check 45 5) --> 1
(check 9951 5) --> 2
何かテキスト値を返したいということでしたら、例えば次のようにすればよいかと思います。
(defun five (num m)
(interactive "nNumber-to-check:\nnNumber-to-be-included:")
(if (string-match (format "%d" m) (format "%d" num))
"含まれます"
"含まれません"))
桁数チェックが必須なら、string-match の前に桁数がxxxかの判定をする必要があります。
(defun check (xxx num m)
(interactive "nNumber-digits:\nnNumber-to-check:\nnNumber-to-be-included:")
(if (equal (length (format "%d" num)) xxx)
(string-match (format "%d" m) (format "%d" num))))
#octaveで動くかどうかは、octave使ったことがないのでご容赦ください。
urlはダミーです。
そのような関数をemacsでプログラミングするにはどうしたらいいのでしょうか?