X



プログラミングのお題スレ Part17
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2020/03/13(金) 01:42:47.06ID:0rEhys36
プログラミングのお題スレです。

【出題と回答例】
1 名前:デフォルトの名無しさん
  お題:お題本文

2 名前:デフォルトの名無しさん
  >>1 使用言語
  回答本文
  結果がある場合はそれも

【ソースコードが長くなったら】 (オンラインでコードを実行できる)
https://ideone.com/
http://codepad.org/
http://compileonline.com/
http://rextester.com/runcode
https://runnable.com/
https://code.hackerearth.com/
http://melpon.org/wandbox
https://paiza.io/

宿題は宿題スレがあるのでそちらへ。

※前スレ
プログラミングのお題スレ Part16
https://mevius.5ch.net/test/read.cgi/tech/1573948822/
0595蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/05/23(土) 23:25:04.33ID:tuPjXkuO
お題: おらがロボ村では、5人の選手が参加するマラソン大会が実施される。マラソンコースは半径500mの円形で、各選手はコースを一周する。
マラソン大会の開始時刻では、5人の選手はスタートラインに並ぶ。各選手を20km/h〜40km/hのランダムな速度でコースに沿って
ゴールに向かって動かし、スタートラインからの相対位置と順位を1分ごとに記録せよ。
0598デフォルトの名無しさん
垢版 |
2020/05/24(日) 20:12:35.94ID:UpvKbmnk
バグってて草
0602デフォルトの名無しさん
垢版 |
2020/05/29(金) 19:46:09.73ID:Yyjc625Z
>>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;
}
}
}
}
0603デフォルトの名無しさん
垢版 |
2020/05/30(土) 02:41:31.20ID:k7WMMDxu
>>600

#!/bin/sh

echo '残りHDD容量'
0608デフォルトの名無しさん
垢版 |
2020/05/30(土) 19:59:18.23ID:/dD/Ru8o
代々受け継がれた秘伝では
ビット演算にはいやらしいほど大量の括弧を付ける
0609デフォルトの名無しさん
垢版 |
2020/05/30(土) 20:08:41.76ID:40+e0S4G
Cの条件文の後の式も
必ずカッコ{}でくくらないと
気持ち悪くなる体になってしまった
0612蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/05/31(日) 08:43:10.84ID:KExNe49d
お題: アリが20匹現れた。ハエ叩き棒でやっつけろ。ジョークプログラムなので、なるべく面白いのを頼む。
0613デフォルトの名無しさん
垢版 |
2020/05/31(日) 10:31:10.30ID:Rl1Q+n8J
前出のお題の修正:
5以上の素数に対して、6の剰余は±1のいずれかになる。剰余を順次加算していくと
合計が0になる時の素数は
7, 13, 19, 37, 43, 79, 163, 223, 229
が表れる。次に表れる素数は何か。
0614デフォルトの名無しさん
垢版 |
2020/05/31(日) 11:28:53.67ID:nFHAPcg5
>>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)
0615デフォルトの名無しさん
垢版 |
2020/05/31(日) 14:47:31.82ID:nFHAPcg5
出力コードを簡素化した。結果は同様
~/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
0616デフォルトの名無しさん
垢版 |
2020/05/31(日) 16:58:02.85ID:cODyvW7N
>>614
済みませんが、
素数の時、6の剰余+1か-1のいずれかを使って
加算してください。
0617デフォルトの名無しさん
垢版 |
2020/05/31(日) 18:09:04.04ID:pTVQa+4z
>>613
問題の意味がわからない。

> 5以上の素数に対して、6の剰余は±1のいずれかになる。

割り算の余りがマイナスになるというのはどういう事なのか?
0620デフォルトの名無しさん
垢版 |
2020/05/31(日) 18:21:00.56ID:nFHAPcg5
整数でいえば余り1,5の状態だな

>>616
No
mod 6 で閉じてて可換な四則計算順序を指定する意図が不可解
0621デフォルトの名無しさん
垢版 |
2020/05/31(日) 18:24:13.24ID:eZt8j+dv
ああーそれとも剰余の合計rに対して
剰余が5 のときr--して剰余が1のときr++しろってことかな?
なら>>613は解無しじゃないのか
0622デフォルトの名無しさん
垢版 |
2020/05/31(日) 18:25:46.74ID:Vy0zCg8D
これは荒れる予感
0624デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:09:27.86ID:pTVQa+4z
>>619
(n - 1) mod n の計算結果は n - 1 になるが? 5 mod 6 = 5 になるだろ普通に計算すれば。
余りはどうやっても負の数にならんよな。余りなんだから。
0626デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:15:11.96ID:7viDr3wo
落ち着けよ
ガキじゃねえんだからさぁ…
0627デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:17:14.86ID:pTVQa+4z
>>625
それはどういうルールなのか?普通の数学や数値計算とルールが違うのであればその独自ルールを全て書いてくれ。
書いてくれればそれに合わせて考えるから。
0628デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:18:31.19ID:eZt8j+dv
>>627
普通の文脈で、数学において x = -1 mod n ⇔ x = n - 1 mod n なんですが、あなたはどの宇宙の数学を学んできたんですか
0631デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:30:52.80ID:eZt8j+dv
>>630
いやだからそもそも剰余環境Z/nZにおいては -1 も n - 1 も同じ数字なんだっての
なんで理解できないの
0633デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:35:39.68ID:pTVQa+4z
>>631
「剰余環境Z/nZ」とは何か?
0634デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:54:07.01ID:F5Rzc4As
いきなり専門用語使いだすオタク
0635デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:56:47.94ID:Ni/4BDkr
ほんとお前ら数学の話題大好きだよな
0636◆QZaw55cn4c
垢版 |
2020/05/31(日) 20:56:59.96ID:22Gnkx1d
>>630
n を自然数として、
6n + 5 の形である整数の集合…@

6n - 1 の形である整数の集合…A
があったとき、よくよく考えると @とAは合致しませんか?

>>631
もっと簡単な言葉で説明できませんか?難しい言葉でしか説明できないのなら、それは本質がわかっていないということになりませんか?

>>632
馬鹿にあわせて説明できる人こそ真の天才だとおもいますが、そういう人はなかなかいないようですね
0637デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:57:37.82ID:HJ4meGZ2
数学の話してんなら普通やろ
いつもの数学コンプレックスニキが自演してんやろな
0639デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:00:21.63ID:2kODrb8A
>>623
ありがとうございます。まだ確認できていませんが、
素数が6の剰余で+1型とー1型が同じ割合で存在するなら合計の零点は
もっと頻繁にあると思っていました。
0640デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:09:29.45ID:sumeuwmr
同値とかいう言い方してるから伝わないんやろ
そんなこともわからんのか
0644デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:12:53.15ID:eZt8j+dv
ググれば10秒でわかることをいちいち聞いてくるアホ共
最終的には足し算の定義聞かれてペアノの公理説明することになりそうだなw
0645デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:14:02.77ID:Z63y3ceL
>>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;
}
0646デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:22:36.66ID:jV2aqIZ1
「n-1と-1は同値」
これ本来の同値ってワードの使い方として合ってるの?
まあ感覚でわかるけどややこしくしてる要因だな
0647デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:24:23.77ID:eZt8j+dv
>>646
「x = -1 mod n ⇔ x = n - 1 mod n 」ってわざわざ読み下してるんですがあなたの眼球にはピンポン玉でもつまっているのですか?
0648デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:26:38.45ID:zrZ3dZ+f
数学オタは意地でもスマートな記述にこだわるから一般人には伝わりにくい
もっと日常語で説明して
0651デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:29:19.97ID:oxSjxpRM
数学得意なやつにとって当たり前で簡単なことは勝手に算数呼ばわりする奴も定期的に湧くよな
0653デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:30:56.41ID:eZt8j+dv
実際中学生レベルの算数をして算数と呼んでいるのですが、あなたたちは中学校で算数を学ばなかったのですか?
0655デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:32:26.20ID:Kvp86bM8
中学でやるのは数学ですよね。
それをわざわざ算数と呼ぶところに悪意が満ち溢れていてまさに荒らしの鑑ですね。
0656デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:33:22.27ID:ZOgXINxw
単発IDで必死だなお前
中学の数理技術を教える授業をなんて呼ぶかなんて些末な問題だってわからないくらいに頭が悪いんだな
0657デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:33:43.80ID:68sgpSB3
負の数に関するmodは中学数学ではありません!
0659デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:34:47.98ID:Z63y3ceL
>>648
こんな風に表現してみてはどうかねえ
5以上の素数pで、
p以下にある6で割って1余る素数の個数と
p以下にある6で割って5余る素数の個数とが一致するのは、小さい順に
7, 13, 19, 37, 43, 79, 163, 223, 229
となるが、その次に一致する素数は何か?
0662デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:37:02.93ID:HODb9qjk
世の中の90%は負の数のmodを扱えない
0666デフォルトの名無しさん
垢版 |
2020/05/31(日) 21:44:24.93ID:Z63y3ceL
いま>>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; }
0667デフォルトの名無しさん
垢版 |
2020/05/31(日) 22:06:06.16ID:TtXgrlrn
>>639
正解は知らないし適当な想像で言うけど、+1と-1の出現頻度が同じ確率に収束するとして、最初の段階で合計が0からある程度離れたとしたらなかなか0には近づかないんだないの?
0668デフォルトの名無しさん
垢版 |
2020/05/31(日) 22:13:03.44ID:27DcnLkI
>>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
0669デフォルトの名無しさん
垢版 |
2020/05/31(日) 23:58:18.12ID:pTVQa+4z
>>636
するね。で?
元の問題は剰余と書いてあるわけだが、負の値の余りはありえないだろう。余りなんだから。計算上の一致は分かるがそれは余りではない。
0673デフォルトの名無しさん
垢版 |
2020/06/01(月) 02:08:20.72ID:6KBAlGQt
>>671
>>613にはその定義を用いると書かれていない。
0674デフォルトの名無しさん
垢版 |
2020/06/01(月) 02:17:02.58ID:u7kDoQ1s
>>673
>>613の時点で剰余は±1といってるんだから、>>613の意図しているものがお前が考えている正の余りだけを考える剰余ではないのは明確だろう。
俺が知っているルールが絶対だ、俺に断りなく俺の知らない俺の習ってないルールを使うのは許さん!なんて考えてるなら、周りから話の通じないめんどくさい奴だと普段から思われてないか?
自分の知っているものと違うなら、自分が知らないものかもしれないとか自分の理解が間違っている可能性があるとかに思いが至るのが普通の人間の思考だと思うぞ。
0675デフォルトの名無しさん
垢版 |
2020/06/01(月) 02:27:54.69ID:6KBAlGQt
>>674
許さんなどと書いてはいない。違うルールであるならばそれを書いてくれと言っているだけだ。
でないと問題として情報不足で成り立たないからだ。
0677◆QZaw55cn4c
垢版 |
2020/06/01(月) 06:13:36.67ID:sHDqW2qD
>>675
>違うルールであるならばそれを書いてくれと言っているだけだ。
>でないと問題として情報不足で成り立たないからだ。

負の剰余なんて、>>671 で例示した基本書でも記述されているくらいに誰でも知っていることなので明示する必要はないでしょうね
0678◆QZaw55cn4c
垢版 |
2020/06/01(月) 06:16:04.53ID:sHDqW2qD
>>672
でしょう?

>>671 の URL で示した wiki に私は(解析・代数も含めて)全部入力したかったんですが「米国」著作権法に抵触する、ということで入力は途中までになってしまいました
0679デフォルトの名無しさん
垢版 |
2020/06/01(月) 06:41:55.65ID:u7kDoQ1s
>>675
ほんとに書いてあることを字面通りにしか受け取れない奴なんだな。

これまでもこのスレのお題には、問題文に全てが厳密に書かれて無いが話の流れや解答例から推測できたり些末な部分だから無視できるような問題は山のようにあったが、それには突っ込まずこの問題では執拗に絡んでくるのは数学的な問題だから?
数学の問題が解きたいだけなら、このスレのお題なんかやらずに学校の教科書や入試の問題のような、どんな突っ込みやクレーム(そんなの習ってませーん!その表記は習ったのと違いまーす!)も受けないように作られた学校の教科書や入試の問題を解いていた方が幸せになれるぞ。
0680デフォルトの名無しさん
垢版 |
2020/06/01(月) 06:43:45.28ID:u7kDoQ1s
>>679
編集しているうちに二重になっている部分ができでしまった、すまん。
文意は察してくれ。
0681デフォルトの名無しさん
垢版 |
2020/06/01(月) 08:17:42.52ID:Q7jDGvsp
>>677
誰でも知ってねえから
世の中の90%は知らん
嘘つくな
0682デフォルトの名無しさん
垢版 |
2020/06/01(月) 08:19:57.55ID:SiKhQjlx
理系でも80%は知らん
一般的な定義を知ってるのはオタクだけ
0683デフォルトの名無しさん
垢版 |
2020/06/01(月) 08:24:21.54ID:SiKhQjlx
オタクって自分が知ってることはみんな知ってると思い込む性質があるよな
0684デフォルトの名無しさん
垢版 |
2020/06/01(月) 08:50:44.50ID:C7mdhzKn
おまえの頭の中まで知らない、定義しろ。
おまえが顧客なら聞き取りするが、出題者なんだから定義しろ。
って事で良いのでは。
0685デフォルトの名無しさん
垢版 |
2020/06/01(月) 08:52:24.03ID:6Xly6grx
喚く数学弱者と取り巻きのマウントガイジはスレの癌だから出て行けよ
何回やるんだクソ荒らしども
0686デフォルトの名無しさん
垢版 |
2020/06/01(月) 09:20:48.51ID:CPFP05NA
-1余ってる状態に何も違和感は無いな
己の題意汲み取り能力の欠陥を認められずに「余り」という単語に固執し「俺は悪くない」「おまえらオタク」と責任転嫁
無知なくせに自尊心だけは一丁前のガキが駄々こねてる様はみっともない
どうせどこでもお前はポンコツ扱いされてるんだろうからいい加減認めろよ
0687デフォルトの名無しさん
垢版 |
2020/06/01(月) 09:24:50.64ID:FnM+G6rG
何カッコつけてんのコイツ…
0688デフォルトの名無しさん
垢版 |
2020/06/01(月) 09:36:53.52ID:4DlttHZB
数学得意な人多そうなら誰か>>574を解いてみてくれ
0691デフォルトの名無しさん
垢版 |
2020/06/01(月) 09:57:31.44ID:ruvyvZ5a
意地の張り合い
0692デフォルトの名無しさん
垢版 |
2020/06/01(月) 10:00:35.11ID:ruvyvZ5a

ここまで意地の張り合い

ここからも意地の張り合い
0693デフォルトの名無しさん
垢版 |
2020/06/01(月) 10:04:11.63ID:8+YXNEar
>>687
現実ではポンコツ扱いされてるんだから、ここでくらいカッコつけてさせてあげようよ
0694デフォルトの名無しさん
垢版 |
2020/06/01(月) 11:28:58.15ID:6KBAlGQt
>>676
勉強になった点はあるが何故こちらが謝る必要があるのか?こちらは問題の不備に対して質問しただけなのだが?
謝らねばならない者が居るとしたら不備のある問題を作った者だろう。まあここなら別に謝らなくても良いけどね。
解く義務があるわけでもないし、こちらが金払って問題作って貰っているわけでもないから。

>>677
出鱈目を書くな。誰でも知っている事ではない。

>>679
たまたま目に入ったからだよ。そして作るべきプログラムの仕様がはっきりしていない点を質問しただけだ。
しかし答えたくないなら無視すれば良かったのではないか?そうすればこちらは問題を解こうとせずにそのまま放置して終わりだ。
最初から解く義務はないからな。

>>686
IDをコロコロ変えながら質問した側を貶めても君の頭が良くなることはないよ。むしろ君が馬鹿であることを晒す事になるだろう。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況