電子書籍の厳選無料作品が豊富!

質問お願いします。
訪問回数が素数の場合、違うメッセージが出る訪問カウンター
を作成しています。
まず、訪問回数が出るカウンターはできました(2)
素数の場合がよくわからないので、とにかく"奇数"で
違うメッセージがでるようにしました(1)が、
まず(1)と(2)をうまく組み合わせられませんでした。
そして、素数かどうかを割り出す方法は調べてわかったのですが、
素数の場合・・・となるとわからなくて。
(考え途中のため、以下のソースは完成してないところ有りです。
中途半端ででみませんです。。)
<?php
//(1)
if(($yes= % 2)== 0){
print("奇数ではないです。");
}else{
print("奇数です。");
}

 //(2)アクセスカウンター
 $file = touch("sample.txt");
$fp = fopen("sample.txt","r+");
$count = fgets($fp, 10);
$count = $count + 1;
fseek($fp,0);
fputs($fp, $count);
fclose($fp);
?>

<p>
あなたは <?php echo $count; ?> 人目のお客様です。

A 回答 (2件)

こんにちは。


これって課題かなんかですか?
課題なのであればご自分で解かないと意味がないと思いますけど…?
(通常自分のサイトでカウンタ数が素数とか考えないですよね?)

#インデントに全角スペース入れてます。
//(1)素数判定関数
function primeCheck($i)
{
 var $ret = false;
 //素数判定関数の内容を以下に記述する
 …
 …
 if($i == 素数である)
  $ret = true;
 return $ret;
}

//(2)アクセスカウンター
$count = "";
$file = touch("sample.txt");
$fp = fopen("sample.txt","r+");
$count = fgets($fp, 10);
$count = $count + 1;
fseek($fp,0);
fputs($fp, $count);
fclose($fp);

$disp_message = "";
if(primeCheck($count)) //素数判定関数呼出
 $disp_message = "素数でした";
else
 $disp_message = "素数じゃないみたいです";
?>

<p>あなたは <?php echo $count; ?> 人目のお客様です。</p>
<? echo $disp_message; ?>

素数を求める公式は発見されてません。そんで素数は無限にあります。
数値型データの桁あふれに注意してみてください。
がんばって。でも学校のお勉強は自分で解いた方がいいですよ。
    • good
    • 0
この回答へのお礼

tamaCo様
ご返答ありがとうございます。
はい、その通りです課題です。
参考になるコードとありがたい
ご意見ありがとうございました。
        
         kasikoi-hでした。

お礼日時:2006/12/10 15:59

変えたいメッセージというのは



「あなたは n 人目のお客様です。」

の部分でしょうか?

それならば、そのメッセージ自体をphpで作って
<?= echo $counter_message ?>
という感じで出してやればいいんじゃないでしょうか?

奇数偶数でメッセージを変える例
---------------------------------------------------------
<?php
$file = touch("sample.txt");
$fp = fopen("sample.txt","r+");
$count = fgets($fp, 10);
$count = $count + 1;
fseek($fp,0);
fputs($fp, $count);
fclose($fp);
if(($count= % 2)== 0){
$counter_message = "$count 人目さん。いらっしゃ~い";
} else {
$counter_message = "あなたは $count 人目のお客様です。";
}
?>
<p>
<?= echo $counter_message ?>
------------------------------------------------------------
まぁ、<?php ~ ?>で直接出力してもいいわけですが。
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。
参考にさせていただきます。

お礼日時:2006/12/11 15:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!