人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

2桁の自然数に5を含むかどうかを判定する関数を作成するにはどうしたらいいですか?
また、n桁の自然数にmを含むかどうかを判定する関数を作成するにはどうしたらいいですか?
困っています、教えてください。

●質問者: miyake0930
●カテゴリ:コンピュータ
✍キーワード:作成 自然数 関数
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● SALINGER
●27ポイント

回答ではないのでポイント不要です。


質問文の意味が明確じゃないようです。

2桁の自然数に5が含むというのは、公約数に5が含むということなのか。

自然数が2桁だけあって、その中に5があるかどうかということなのか。

前ならば5で割って余りがあるか、後ろならば総当りして調べる関数となりましょう。


質問の下の方に【コメント・トラックバック表示】という設定項目がありますので、そこを【回答受付中にコメント・トラックバックを表示する 】に変更すれば、下のコメント欄で不明な点を指摘できるようになりますので変更した方がよろしいかと思います。

http://q.hatena.ne.jp/

◎質問者からの返答

そのような関数をemacsでプログラミングするにはどうしたらいいのでしょうか?


2 ● worldtravel
●27ポイント

とりあえず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でプログラミングする

方法を教えてください。お願いします。


3 ● s34itl
●26ポイント

文字列に変換して判定するのが簡単です。

(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はダミーです。

http://q.hatena.ne.jp/1226241932

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ