プログラミングのお題スレ Part17
■ このスレッドは過去ログ倉庫に格納されています
お題: おらがロボ村では、5人の選手が参加するマラソン大会が実施される。マラソンコースは半径500mの円形で、各選手はコースを一周する。
マラソン大会の開始時刻では、5人の選手はスタートラインに並ぶ。各選手を20km/h〜40km/hのランダムな速度でコースに沿って
ゴールに向かって動かし、スタートラインからの相対位置と順位を1分ごとに記録せよ。 >>600 C++ Windows
#include <Windows.h>
#include <iostream>
int main()
{
auto drives = GetLogicalDrives();
for (int i = 0; i < 32; ++i) {
if (drives & (1 << i)) {
char directory[] = "A:";
directory[0] += i;
ULARGE_INTEGER freeBytes;
if (GetDiskFreeSpaceExA(directory, nullptr, nullptr, &freeBytes) != 0) {
std::cout << directory << " " << freeBytes.QuadPart << std::endl;
}
}
}
} >>600
#!/bin/sh
echo '残りHDD容量' >>602
if (drives & (1 << i)) {
↑これなにやってるの? すまん自己解決したわ
有効なドライブを判定してるのか 代々受け継がれた秘伝では
ビット演算にはいやらしいほど大量の括弧を付ける Cの条件文の後の式も
必ずカッコ{}でくくらないと
気持ち悪くなる体になってしまった お題: アリが20匹現れた。ハエ叩き棒でやっつけろ。ジョークプログラムなので、なるべく面白いのを頼む。 前出のお題の修正:
5以上の素数に対して、6の剰余は±1のいずれかになる。剰余を順次加算していくと
合計が0になる時の素数は
7, 13, 19, 37, 43, 79, 163, 223, 229
が表れる。次に表れる素数は何か。 >>613
C && sh
is_prime.exe のソース
https://pastebin.com/JSJU2GWt
これは is_prime.exe 5 600 で5以上600以下の素数を整形して表示する
また、 exe 7 => 7, exe 8 => のように引数1つの時はそれが素数である場合のみ返す
そんな exe を使えば題意の229の次は521だと分かる
~/bin/is_prime.exe 5 600 |perl -pe 's/\s+/\n/g'| head -200 | sed '/^$/d' | perl -ne 'chomp;m/\A(\d+)/;$total += $1; print "$_ ($total)\n" if ($total %6 == 0)'
7 (12)
13 (36)
19 (72)
37 (192)
43 (276)
79 (786)
163 (2742)
223 (4656)
229 (5112)
521 (23064)
569 (26364)
593 (28692) 出力コードを簡素化した。結果は同様
~/bin/is_prime.exe 5 600 |perl -pe 's/\s+/\n/g'| head -200 | sed '/^$/d' | perl -ne '$total += $_; print if ($total %6 == 0)'
7
13
19
37
43
79
163
223
229
521
569
593 >>614
済みませんが、
素数の時、6の剰余+1か-1のいずれかを使って
加算してください。 >>613
問題の意味がわからない。
> 5以上の素数に対して、6の剰余は±1のいずれかになる。
割り算の余りがマイナスになるというのはどういう事なのか? 整数でいえば余り1,5の状態だな
>>616
No
mod 6 で閉じてて可換な四則計算順序を指定する意図が不可解 ああーそれとも剰余の合計rに対して
剰余が5 のときr--して剰余が1のときr++しろってことかな?
なら>>613は解無しじゃないのか >>619
(n - 1) mod n の計算結果は n - 1 になるが? 5 mod 6 = 5 になるだろ普通に計算すれば。
余りはどうやっても負の数にならんよな。余りなんだから。 >>624
いや -1 も n-1 も同値だっつーの >>625
それはどういうルールなのか?普通の数学や数値計算とルールが違うのであればその独自ルールを全て書いてくれ。
書いてくれればそれに合わせて考えるから。 >>627
普通の文脈で、数学において x = -1 mod n ⇔ x = n - 1 mod n なんですが、あなたはどの宇宙の数学を学んできたんですか >>628
じゃあどうやって計算したら結果を -1 にして出せるんだ? >>630
いやだからそもそも剰余環境Z/nZにおいては -1 も n - 1 も同じ数字なんだっての
なんで理解できないの 算数もわからんガイジに群論で説明しても分かるわけないやろ >>630
n を自然数として、
6n + 5 の形である整数の集合…@
と
6n - 1 の形である整数の集合…A
があったとき、よくよく考えると @とAは合致しませんか?
>>631
もっと簡単な言葉で説明できませんか?難しい言葉でしか説明できないのなら、それは本質がわかっていないということになりませんか?
>>632
馬鹿にあわせて説明できる人こそ真の天才だとおもいますが、そういう人はなかなかいないようですね 数学の話してんなら普通やろ
いつもの数学コンプレックスニキが自演してんやろな >>623
ありがとうございます。まだ確認できていませんが、
素数が6の剰余で+1型とー1型が同じ割合で存在するなら合計の零点は
もっと頻繁にあると思っていました。 同値とかいう言い方してるから伝わないんやろ
そんなこともわからんのか 同値なんて中学校で習ったがここには小学生しかおらんのか? ググれば10秒でわかることをいちいち聞いてくるアホ共
最終的には足し算の定義聞かれてペアノの公理説明することになりそうだなw >>613 こんな感じじゃないかなあ
C++
#include <iostream>
const int MAXENT = 1000000;
int prime_table[MAXENT] = {3};
int main()
{
int found = 0, s = 0, d = 4;
for(__int64 p = 5;;p += (d = 6 - d)) {
for(int i = 0;;i ++) {
int can = prime_table[i];
if( p < can * can || i >= found ) {
if( p < MAXENT ) { prime_table[found ++] = (int)p; }
if( (s += d - 3) == 0 ) { std::cout << p << std::endl; }
break;
}
if( p % can == 0 ) { break; }
} }
return 0;
} 「n-1と-1は同値」
これ本来の同値ってワードの使い方として合ってるの?
まあ感覚でわかるけどややこしくしてる要因だな >>646
「x = -1 mod n ⇔ x = n - 1 mod n 」ってわざわざ読み下してるんですがあなたの眼球にはピンポン玉でもつまっているのですか? 数学オタは意地でもスマートな記述にこだわるから一般人には伝わりにくい
もっと日常語で説明して このスレ絶望的に算数できないやつが定期的に荒らすよな 数学得意なやつにとって当たり前で簡単なことは勝手に算数呼ばわりする奴も定期的に湧くよな 実際中学生レベルの算数をして算数と呼んでいるのですが、あなたたちは中学校で算数を学ばなかったのですか? modなんてちょっといいとこの小学生でも勉強するがな 中学でやるのは数学ですよね。
それをわざわざ算数と呼ぶところに悪意が満ち溢れていてまさに荒らしの鑑ですね。 単発IDで必死だなお前
中学の数理技術を教える授業をなんて呼ぶかなんて些末な問題だってわからないくらいに頭が悪いんだな さすがに中学校で習うものを一般的な数学と呼ぶのは無理があるやろwww >>648
こんな風に表現してみてはどうかねえ
5以上の素数pで、
p以下にある6で割って1余る素数の個数と
p以下にある6で割って5余る素数の個数とが一致するのは、小さい順に
7, 13, 19, 37, 43, 79, 163, 223, 229
となるが、その次に一致する素数は何か? このスレを算数未履修の未開人が見てることに驚きだわ いま>>645のプログラムを回してるんだけど、
答えが12桁なんだったら、結果が出るのは数日後になるんじゃないかなあ
もっと早い計算機で回してもらうか、アルゴリズムの改良が求められるね。
Perl でこんなのも作ったけど遅くて話にならない
use Math::Prime::Util next_prime; for($p = 5;;$p = next_prime($p)) { $p % 6 == 1 ? $s ++ : $s --; print "$p\n" if $s == 0; } >>639
正解は知らないし適当な想像で言うけど、+1と-1の出現頻度が同じ確率に収束するとして、最初の段階で合計が0からある程度離れたとしたらなかなか0には近づかないんだないの? >>613
A098044 - OEIS
https://oeis.org/A098044
3, 7, 13, 19, 37, 43, 79, 163, 223, 229,
608981812891, 608981812951, 608981812993, 608981813507,
608981813621, 608981813819, 608981813837, 608981813861,
608981813929, 608981813941, 608981814019, 608981814143,
608981814247, 608981814823 >>636
するね。で?
元の問題は剰余と書いてあるわけだが、負の値の余りはありえないだろう。余りなんだから。計算上の一致は分かるがそれは余りではない。 >>671
>>613にはその定義を用いると書かれていない。 >>673
>>613の時点で剰余は±1といってるんだから、>>613の意図しているものがお前が考えている正の余りだけを考える剰余ではないのは明確だろう。
俺が知っているルールが絶対だ、俺に断りなく俺の知らない俺の習ってないルールを使うのは許さん!なんて考えてるなら、周りから話の通じないめんどくさい奴だと普段から思われてないか?
自分の知っているものと違うなら、自分が知らないものかもしれないとか自分の理解が間違っている可能性があるとかに思いが至るのが普通の人間の思考だと思うぞ。 >>674
許さんなどと書いてはいない。違うルールであるならばそれを書いてくれと言っているだけだ。
でないと問題として情報不足で成り立たないからだ。 >>675
素直に勉強になりましたごめんなさいって言えねえのかお前 >>675
>違うルールであるならばそれを書いてくれと言っているだけだ。
>でないと問題として情報不足で成り立たないからだ。
負の剰余なんて、>>671 で例示した基本書でも記述されているくらいに誰でも知っていることなので明示する必要はないでしょうね >>672
でしょう?
>>671 の URL で示した wiki に私は(解析・代数も含めて)全部入力したかったんですが「米国」著作権法に抵触する、ということで入力は途中までになってしまいました >>675
ほんとに書いてあることを字面通りにしか受け取れない奴なんだな。
これまでもこのスレのお題には、問題文に全てが厳密に書かれて無いが話の流れや解答例から推測できたり些末な部分だから無視できるような問題は山のようにあったが、それには突っ込まずこの問題では執拗に絡んでくるのは数学的な問題だから?
数学の問題が解きたいだけなら、このスレのお題なんかやらずに学校の教科書や入試の問題のような、どんな突っ込みやクレーム(そんなの習ってませーん!その表記は習ったのと違いまーす!)も受けないように作られた学校の教科書や入試の問題を解いていた方が幸せになれるぞ。 >>679
編集しているうちに二重になっている部分ができでしまった、すまん。
文意は察してくれ。 >>677
誰でも知ってねえから
世の中の90%は知らん
嘘つくな 理系でも80%は知らん
一般的な定義を知ってるのはオタクだけ オタクって自分が知ってることはみんな知ってると思い込む性質があるよな おまえの頭の中まで知らない、定義しろ。
おまえが顧客なら聞き取りするが、出題者なんだから定義しろ。
って事で良いのでは。 喚く数学弱者と取り巻きのマウントガイジはスレの癌だから出て行けよ
何回やるんだクソ荒らしども -1余ってる状態に何も違和感は無いな
己の題意汲み取り能力の欠陥を認められずに「余り」という単語に固執し「俺は悪くない」「おまえらオタク」と責任転嫁
無知なくせに自尊心だけは一丁前のガキが駄々こねてる様はみっともない
どうせどこでもお前はポンコツ扱いされてるんだろうからいい加減認めろよ 数学得意な人多そうなら誰か>>574を解いてみてくれ ↑
ここまで意地の張り合い
ここからも意地の張り合い
↓ >>687
現実ではポンコツ扱いされてるんだから、ここでくらいカッコつけてさせてあげようよ >>676
勉強になった点はあるが何故こちらが謝る必要があるのか?こちらは問題の不備に対して質問しただけなのだが?
謝らねばならない者が居るとしたら不備のある問題を作った者だろう。まあここなら別に謝らなくても良いけどね。
解く義務があるわけでもないし、こちらが金払って問題作って貰っているわけでもないから。
>>677
出鱈目を書くな。誰でも知っている事ではない。
>>679
たまたま目に入ったからだよ。そして作るべきプログラムの仕様がはっきりしていない点を質問しただけだ。
しかし答えたくないなら無視すれば良かったのではないか?そうすればこちらは問題を解こうとせずにそのまま放置して終わりだ。
最初から解く義務はないからな。
>>686
IDをコロコロ変えながら質問した側を貶めても君の頭が良くなることはないよ。むしろ君が馬鹿であることを晒す事になるだろう。 ■ このスレッドは過去ログ倉庫に格納されています