みけCAT さんが書きました:データ提供ありがとうございます。
とりあえずIdeone.comおよびWandboxで実行してみましたが、いずれも正常終了でした。
きちんとMacOSXで調べないとわからないかもしれません。
調べてみたところ、やはりMacOSX独特のエラーでした。
試しに再起動してみたところ改善したので解決とさせていただきます。
みけCATさんありがとうございました!
みけCAT さんが書きました:データ提供ありがとうございます。
とりあえずIdeone.comおよびWandboxで実行してみましたが、いずれも正常終了でした。
きちんとMacOSXで調べないとわからないかもしれません。
なるほど、これでもやもやがすこし晴れました!ありがとうございました。box さんが書きました:同じです。
どっちを使っても大差はありません。
h2so5さん回答ありがとうございます。h2so5 さんが書きました:コンパイラには何を使っていますか?
返信がおくれてすみません。beatle さんが書きました:「Userとitemの部分」とはuserbase_scoring関数の中身ということですか?
また、どのレベルの説明が欲しいですか?
- Pythonコードが読めないので、一行一行のPythonコードを日本語で説明して欲しい
- Pythonコードは分かるが、全体的に何やってるか分からない
そうなんですね、理解できました!h2so5 さんが書きました:このコードはC++です。C言語としてはコンパイルできません。
私もこちらのサイトなら動作を確認できました。h2so5 さんが書きました:動きますね。
http://ideone.com/FEjn81
http://www.ioi-jp.org/joi/2013/2014-yo/ ... t2-in5.txth2so5 さんが書きました:こちらで試したところ、うまく動いていようですが。
http://ideone.com/TNjRS7
では1~999は初級者 さんが書きました:1〜1000の数がほしいけど、
rand()が返すのは0以上だしなぁ。
てなときは、こんな風に考える。
1〜1000を無理やり0始まりに変えてしまう。
そうすると、0〜999になる。
0〜999はrand()が返す値を1000で割った
あまりとして得られる。
後は、もともと1から始めたかったので、
1を足す。
結果:
1〜1000をrand()で得るには、
rand() % 1000 + 1
+1しないので0からの範囲ではないでしょうかみけCAT さんが書きました:はい。Sera さんが書きました:rand()%1000 + 1
だから、、、余りに+1ですか?
では、+1する前の余りの範囲はどうなりますか?
rand()%1000 + 1みけCAT さんが書きました:違いますね。(範囲は1~999ではないです)Sera さんが書きました:始まりは、、、
+1しているから1~999でしょうか?
何に+1しましたか?
始まりは、、、softya(ソフト屋) さんが書きました:>(3)は
>コンピュータ内のある発生系列に従って文字を渡すってことでしょうか。
文字は出てきませんよ。数値です。
C言語では数値と文字と文字列の扱いに注意して下さい。
>(4)は、、、
>余りの値の範囲は割ったかず以下だから、、、999ですね!
範囲ですので始まりもお願いします。
割ったかずより下ですね!笑みけCAT さんが書きました:間違っている気がします。Sera さんが書きました:(4)は、、、
余りの値の範囲は割ったかず以下だから、、、999ですね!
割ったかず「以下」ではないのではないですか?
符号なし整数型っていうのは要するに正数ってことでいいんでしょうか??みけCAT さんが書きました:unsigned int : 符号なし整数型
NULL : どこも指していないポインタ
少なくとも、「一般的な」割り算と足し算の定義では1~999の値だけにはなりません。Sera さんが書きました:1000で割って余りに1を足すと1~999の値になるんですかね。。?
乱数の質が悪ければなるかもしれません。
えっと、、、softya(ソフト屋) さんが書きました:あけまして、おめでとうございます。
塊で考えているようなので、もっと分解して考えてみましょうか。
理解するためには分解しないといけないですよ。
と言うことで逆質問してみます。
これは何でしょうか? 説明してみてください。
(1) srand
(2) time(NULL)
(3) rand()
(4) %1000
です。