952 :
デフォルトの名無しさん:2008/07/07(月) 13:51:22
>>943 return 19*17*15*13*11*3*7;
953 :
デフォルトの名無しさん:2008/07/07(月) 14:44:27
素数じゃないもの入れたら最小公倍数にならなくね?
って15でよかった。ごめん。
>>913 はい、すいません。ありがとうございます。
しかしbucketsort関数内の処理がおかしいのか、
B[0]
B[1]
・
・
というのが無駄に2回ほど出てくるのですが、どうすればいいんでしょうか?
アルゴリズムというキーワードくらい難しい概念は無い。
仏教とかの「無」の概念と同じ位の難しい宗教用語だ。
気軽に使うわないほうがいいぞw
>>959 してませんでした・・\(^o^)/
ご迷惑おかけしました、本当にありがとうございました!
>>959 すいません少し質問なのですが・・
for(tmp=data, h=K-1; h>=0; h--, tmp/=m){
A[i].letter[h] = tmp % m;
この部分は何をしているのでしょうか?
tmpを用意する意味、A[i].letter[h] = tmp % mになる意味、/=はなんなのか。。
よければご教授お願いします
965 :
デフォルトの名無しさん:2008/07/07(月) 17:46:23
>>964 見た感じ数字をm進数変換して、各桁を文字列に入れているように見えるけどどうなのかな。
問題が流れてるのであってるかどうか不明す。
連続した数字を、各桁ごとに分割してるようですね。
12345 というデータがあれば、配列に 1 2 3 4 5 の5つの要素が入る。
出題時にデータファイルの形式を指定していなかったので回答者が決めた
形式になったんですかね。
扱いやすい形式とは思えないけれど、指定しなかったのならしょうがないかな。
>>968 for(tmp=data, h=K-1; h>=0; h--, tmp/=m){
A[i].letter[h] = tmp % m;
は
for(h=K-1; h>=0; h--, data/=m){
A[i].letter[h] = data % m;
じゃダメなんでしょうか?tmpを用意する意味がいまいち・・
それと/=ってなんなんでしょう?ぐぐっても出てこないのです。。
回答者の方ごめんなさい。データファイルの形式は使いにくくなかったです。
>>969 /= は複合代入演算子といいます。
a /= b は a = a / b と同じです。
その処理の後でdataを使わないことが保証されているのであれば
tmpを使わなくてもいいと思いますよ。
>>969 最初作ったときに、エラーメッセージ用にdataの値がほしかったから、
tmpを用意しました(提示したソースではいらないです)
>>970 無問題
975 :
デフォルトの名無しさん:2008/07/07(月) 19:11:11
>>973 ・2次元配列 calendar を new を使って純粋に2次元配列として動的に確保するようにする
・メモリリークの検査を行う
上記の二つの条件の部分のみ抜粋
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
const int rsize = 6;
const int csize = 7;
int **calender;
try{
calender = new int* [rsize];
for(int i = 0 ; i < rsize; i++)
calender[i] = new int[csize];
}catch(std::bad_alloc){
cerr << "メモリーアロケーションエラー";
exit(EXIT_FAILURE);
}
for(int i = 0; i< rsize; i++)
for(int j = 0; j < csize; j++)
calender[i][j] = 0;
for(int i = 0 ; i < rsize; i++)
delete [] calender[i];
delete [] calender;
return 0;
}
>>374はもうここにいる人達では無理、でFAですか?
誰一人として考えてくれている気配すらない…
残念ながら、釣りとしか思えないのでね。
979 :
デフォルトの名無しさん:2008/07/07(月) 21:26:35
>>965 モンテカルロ法というものの応用だと思うのですが、どなたかお願いいたします・・・
期限まだ先でしょ?7/23?
981 :
デフォルトの名無しさん:2008/07/07(月) 21:31:31
>>976 #include <stdio.h>
#define N 100
int main()
{
int num[N], input, i, j;
for(i = 0; i < N; i++)
{
scanf("%d",&input);
if(input == 0)break;
for(j = i; j > 0; j--)
{
if(num[j-1] > input)num[j] = num[j-1];
else break;
}
num[j] = input;
}
for(j = 0; j < i; j++)printf("%d\n",num[j]);
return 0;
}
>>977 考えるだけなら。
数字どおりのブロック数が出来てるかの正誤判定作って後は総当り。
>>980 まぁそうなんですが。
あまりにリアクション無いんで、このまま次スレ行ったら風化されそうな気がして…
>>983 ありがとうございます。よろしければコードのうpを…
>>977 この問題を一度も解いたことがない、ただし類似の問題は解いたことがある手練が
効率なども考慮しながら解いたとして、ゆうに1、2時間はかかりそうな問題。
俺は手練じゃないが、10時間みっちりあれば(簡単な枝刈も実装して)解けると思う。
こんな問題が1週間の期限で宿題に出る、そんな授業を受講しているあなたの
レベルはいったいかほど? まろさんより上じゃないのか?
>>987 最初の期限は俺のミスですw
最初からちゃんと猶予は1ヶ月ありました
自分のレベルですが、週2(講義1+実験1)の授業受け初めて3ヶ月のド素人もいいとこです
>987
1〜2時間か。すごい早いね。
俺はもう駄目だ。昨日からずっと考えてるが、全然だ。
>>989 うーん。とりあえず、バックトラックというキーワードで調べてみてはいかが?
>>983のヒントを実装するための手法だよ
このスレに出されている問題なんて、課題の内容のパターンが変わろうが
結局は過去ログに出たような問題ばかり。それをさも、自分が初めて解いたからって
それだけで得意気になっている奴は痛過ぎる。本当に世間知らずなんだろうね。
お前、誰に学校で学んだんだ?w 教員、教授が何もせずにそんな立場に
立っていると思ってんのかよ?過去に抱えた生徒だって、とっくの昔に
習った既知のものばかりだぞw 自分以外に知らない奴がいると、得意気になるやつって
自分が知らないことを知っている奴を見て、気に入らないと煽るタイプだろ。
バレバレなんだよw こっちは何年人間社会で人間という人間を見てきたと思ってんだ。
お前みたいな、目の前に自分基準でムカつく奴がいたら、そいつを徹底的に
罵倒して煽っている奴なんて、現実世界でも何人も見かけたが、そういうやつって
狭い社会、つまり小学校、中学校の数名のクラスの中で偉そうにしていた、
社会全体から見るとお山の大将に過ぎない 可愛いよー 可愛いよー な
ちっぽけな強がっているガキにしか見られてないって気づいてねw
そして、みんな共通の事柄を学んでいるのに、自分が先に答えたくらいで
後から答えた奴が、全部自分の真似をしたと思い込む、どんだけ猿並みの
知能なんだよw 予習を忘れた奴でも、授業でさっと覚えて答える優秀な奴も
世の中いくらでもいるぞw
こんだけ長文連投して説得力があるとでも思ってるんだろうか。
図星をつかれて顔真っ赤にしか見えないんだが。
いまから朝までノンストップフィーバータイムだなw
もうそんな時間かよ
ちなみに誰が誰を罵倒してるの?
いつもの長文連投基地外が見えない敵を罵倒してる
自己紹介乙ってことか
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。