プログラミングのお題スレ Part14
■ このスレッドは過去ログ倉庫に格納されています
>>384 前の方からの VC++ の人かな?
なんでそんなに苦労してるのかが理解できない。
使った事ないから知らないけど。
でも、貼るんだったらzip は辞めようよ。 怖くて開けない。 ソースだけなら動かなくてもideon に張り付ければ良いじゃん。 >>385
ソースが2分割されててまとめたほうがいいかと思ったけど。
ZIPって脆弱性あるの?
張りなおすわ。 https://ideone.com/mqLP90
C++。開発中だが、頓挫したので挙げておく。
面倒なことしてるとは言うけど、プレイヤー分けたほうがそれっぽいかと思って分けてある。
あまり深い意味はないよ。 お題:
a, b, c, d, e, f, g, h, i, j, x は正の整数で
a^3 - b^3 = c^3 - d^3 = e^3 - f^3 = g^3 - h^3 = i^3 - j^3 = x
を満たす.
条件を満たす最小x と対応する a, b, c, d, e, f, g, h, i, j を求めよ https://ideone.com/StMJSA
>>神経衰弱。
一応、ランダムプレイヤーで終了まで走ったのでアップ。おしまい。
いい暇つぶしになった。
>>389
あぁ、別スレにも投げたんだが、即反応があって赤っ恥だよ。
直したところ、通ったので適当にデバッグが可能になった。 NervousBreakdown って名前はユーモアでそうしてるだけ?
カードゲームの神経衰弱って、(一部の)日本人しか連想できなさそうな名前だけど >>391
グーグルで翻訳かけたらそれが出たので脳死で採用。
英語下手なんだ。 ゲーム名とかは翻訳に掛けるんじゃなくてwikipediaとかで調べればいいと思うよw >>393
concentration または memory ではないかな。 >>395
ウィキペディアには、前者が書いてあった。
ローカルの直しておくかな。
イデオンは編集可能期限が過ぎてる。 >>388
条件を追加します、a, b, c, d, e, f, g, h, i, j は互いに異なる正の整数です
試算では
x = 1412774811
になりました >>398
どうして、あるいはどういう点によって、これは宿題だと思ったのですか? お題: 入力からC言語の整数リテラルもしくは浮動小数点数リテラルを読み取り、型の種類、実際の値の十進表現、そして型のバイトサイズを出力するプログラム。
入力が不正な場合はERRORと出力せよ。
前後の空白は読み飛ばすこと。 https://ideone.com/tSqKkb
>>400
ベターC。今流行りのTrueパーサーというやつです、はい。
怒られるヤツです、はい。
ローレベルは苦手だ。 >>397
数字が異なるモノであることをチェックするのが面倒だなぁ。字数多くて。 >>388,397
俺も適当に回したもので1412774811が出たが、
それが正しいかどうか調べるのは21701までの総当たりで1412774811より小さい条件を満たすものが無けりゃええんよな?
21702^3 - 21701^3が1412865307になって1412774811を超えるけーの https://ideone.com/yqze0k
>>388 >>397
総当たり(予定)
概算書いてあるから簡単かと思ったら、リリースでも終わらないでござる。
よく考えたら、15ビットの10乗だったので死ぬわ。でござる。 https://ideone.com/LROfLu
>>404 の おまけ。
ハッシュにしてみたら、面倒なチェック落とせるんじゃね?と思い、物故んでみたところ。
メモリ限界に達して死にました。南無。 >>368 Squeak/Pharo Smalltalk
| m scores turn cards mask print |
m := 3.
scores := #(0 0).
cards := ((1 to: m), (1 to: m)) shuffled.
Transcript open; clear.
(print := [:val | Transcript cr; show: val]) value: cards * (mask := Array new: m*2 withAll: 0).
turn := 1.
[mask includes: 0] whileTrue: [
| player choice prevMask pair |
player := turn - 1 \\ 2 + 1.
choice := (mask negated + 1 * (1 to: m * 2) copyWithout: 0) shuffled first: 2.
prevMask := mask copy.
pair := choice collect: [:pos | mask at: pos put: 1. cards at: pos].
print value: 'プレーヤー', player asString, 'が開きました。'; value: cards * mask.
pair asSet size caseOf: {
[2] -> [print value: '不一致。閉じます。'; value: (mask := prevMask) * cards. turn := turn + 1].
[1] -> [print value: ('一致。プレーヤー{1}は計{2}枚獲得。' format: {player. scores at: player incrementBy: 2})]
}
].
print value: (scores asSet size = 1
ifTrue: ['引き分け。']
ifFalse: ['プレーヤー', (scores indexOf: scores max) asString, 'の勝ち。']) >>397 >>388
お、なんか簡単に出来なさそうだから、やってみるかな。 たまたま記号計算の勉強中だから、やってみるがそっちの勉強の方が難しすぎて答えまでたどり着けるかどうかわからんが、良い練習問題になる。 お題: あなたは完全予約制の映画館の運営責任者だ。映画館にある10x10席について予約アプリを作ることになった。
仕様:
2桁の座席番号で空いてる席を予約できる。
「おまかせ」ボタンで席を決めてくれる。
席が決まったら、整理券を発券する。
「印刷」ボタンで予約状況を印刷できる。
「売上」ボタンで売上を計算できる。 >>402
問題文が悪いようですね、ごめんなさい
言いたいことは
任意の正の整数 a, b, の三乗差 a^3 - b^3 で表される整数について、これが 5 通りの三乗差で表現できる最小の整数を求めよ
のつもりだったのです
4通りの三乗差で表現できる最小の数は
165^3-93^3=162^3-111^3=178^3-63^3=678^3-3^3=4118877
です。
>>403
最悪 (10進4桁)^3 でなんとかなると思っていましたが… >>409
こちらで書いた試行プログラムにバグが見つかりました
4通りの三乗差で表現できる最小数は
165^3-72^3=162^3-51^3=178^3-115^3=678^3-675^3=4118877
20年ぶりにバグ出ししてしまった…てへぺろ いっっっつも問題修正してるじゃん。
雑なんだよ。センスも能力も無いのでは? >>411
はい、能力もセンスもありませんので、こちらで胸を借りようかと(宿題スレもあわせて)10年くらい書き続けてこの様だったりするのです… >>362 なでしこ
(6 の 乱数) + 1 を 表示 プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。 >>417 Squeak/Pharo Smalltalk
1000 / 999 squared asScaledDecimal: 300
"=> 0.001002003004005006007008009010
011012013014015016017018019020
<snip>
081082083084085086087088089090
091092093094095096097098099100s300 " >>417
Kotlin スクリプト
こういうのアリか?
println((1..100).joinToString()) >>417
pythonなら超簡単に書けそう。
俺は書かないけど。 >>417 そもそもなんのためにこんな小汚いコーディングしてるのか理解不能。 >>417 の出題者の目的はなんだ?
Python for loop 無しというルールがわからん
これはループしてないだろ?
print( [i for i in range(1,101) ] ) パズルとか頓智とかゴルフとかそういう系統でしょ
あなたにはおそらく今後5年間は理解できそうにないからわざわざ首を突っ込まなくていいんじゃない?
それとそのコードだとforを使ってることになるからダメだよ
「なんでダメなの?」と聞かれてもその手の遊びを本当に理解できない物体がいるのでコミュニケーション不可能だから答える必要はない printで1から100まで出力したらダメですかw >>424
別にいいけど、受けないとわかってるギャグを言う時と同じくらい恥ずかしいと感じるんじゃないかな >>423 ま、いいけどさ、for という言葉が嫌いなら
>>417 Python
print(list(range(1,101)))
結果
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100] >>397
2分46秒で答えが出た。このくらいで答えが出るはいいお題。 >>427 何なら良いんだよ。まさかgoto 文以外はダメだとか言わないだろうな。
もう一度聞くが、for と range 以外なら良いのか? >>417 >>427 >>419 kotlin と、>>421 commonLisp もダメなんだな?
とにかく自動生成される数列は許さないんだろ?
かつループも、再帰コールも、goto も使うなと。
やーめた。 >>417 Perl5
print "@{[1..100]}\n";
実行結果
$ perl 14_417.pl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
89 90 91 92 93 94 95 96 97 98 99 100 https://ideone.com/sjWw95
>>417
見よ、この土方力を。
趣旨からしてこういうことだよね。
汎用性つらぽよ。 言い訳するんやったら、ループじゃなくて、掛け算です。
と、言ってみる。 >>431
ダメってことはないけど「お!」って思わせる意外さや面白さはないよね?
>>417は「およそ誰もが最初に思いつく方法(つまりループ等)以外で
1から100までを表示するコードをひねくり出してみてください」
という知性やユーモアを問うゲーム クソ問出しといて面白い回答でオレ様を感心させろとか言う厚顔無恥なクズ だから言ったじゃん
その手のユーモアを全く理解できない物体がいて、そいつらとはコミュニケーション不可能だ、って
わざわざ首を突っ込んできてクソ呼ばわり、害悪そのものだ
「理解不可能」「出題者の目的」「ルールが分からん」と三拍子揃ってるからコミュニケーション不可能の異質な生物だと思った方がいい
for rangeのを出して来て「ループしてないだろ?」と聞く時点でもはやコミュニケーション不可能、価値感が根本から違う
表面だけは人間の姿形をしてるが中身は全然違う物体で、そいつらとはコミュニケーションや意志疎通は出来ない
絶望的に話が合わないし価値感も全く違うので、人語を解するコミュニケーション不可能な人型生物、程度に見ておいた方がいい >>417 javascript
console.log(Array.from({length:100},(_,i)=>i+1).join`\n`) >>388
a^n-b^nの因数分解を眺めていたらnが素数の時はa-bの項しかないようだ。そして項数が素数になっている。 >>433
そのコードを見て1から100までを表示するプログラムだと
仕様を解釈するのは困難、
何のためにコードを書いてるのか意義が…
ドカタから脱却しなよ >>417 phi
print(oneToHundredSeparatedBySpace()) >>417 PHP
1
0999999999988888888887777777777666666666655555555554444444444333333333322222222221111111111
0987654321098765432109876543210987654321098765432109876543210987654321098765432109876543210987654354321
縦書きなので右から左へ。 >>450
何のためにって、お題に対して面白い解き方をするコードを挙げているのだから、コードから仕様を解釈するのが困難だなんて指摘は的外れだろうよ >>417
スクリプトか、それに準ずる文法持ってる言語有利やな。
Haskell
main = print [1..100]
それは1ー100のリストやろ言うなら
main = mapM print [1..100]
とか改行無しなら
main = mapM (putStr.show) [1..100]
“,”で区切れデコ助野郎言うなら
main = (putStrLn.init.concat.map ((++ ",").show)) [1..100] >>450
書いた人間だけど。
5個表示するのが5個あったら25個表示出来て、それを4個並べて100個!
完璧な作戦じゃないですか!!!!遂行するのが不可能ということもない。
5*5*4=100!! >>417 はループ禁止とか言いながら、プログラムの外でループしてるだけのプログラムじゃないか。
プログラムにループかなくて繰り返しなんてあり得ない事がわからないバカなんだろうな。 そういう意味ではソフトから見て最小単位であるアセンブラのブロック転送命令もマイクロコードでループしてるわね。
と言う訳で、解なしが正解かな? あからさまなループ禁止でループ完全な禁止じゃないでしょそもそも こんなドカタの力仕事の訓練しても何にもならない、こんなので楽しめるなんて ドM だろ。
綺麗なプログラムは許さない。できるだけ小汚いプログラムしかダメ。 いかに小汚くプログラム出来るかのコンテストです。
>>463 屁理屈だな。map や range などは明らかなループじゃないだろ。 明らかなループってなんだ?
1行で書かれた綺麗なプログラムは許しませんと言えよ。 人の持つ適度さっていうのを裁量してるともとれるし。 mapだめって言ってるのが出題者どうかもわかんねえじゃん
あと解きたくないなら解きたくないでいいしほっとけばいい
曖昧だと思うなら質問すればいい
あと訓練するためのスレでもない >>466 出題者は聞いたって答えないじゃんか。 ま、クソ問題でしかない。 >>457
あからさまの定義は何?
map内部でループ使ってるからダメってなら、printf内部でループ使ってたらダメって言ってるのと一緒じゃん。
Haskell
main = sequence_ [print x | x <- [1..100]] >>471 1行で書けるものは嫌いなんだってさ。
[1..100] なんて大っ嫌いだってさ。 自動生成される数字は全て反則だって。 一応、どの辺がプリミティブかっていうのはあると思うぞ。
オブジェクト指向と手続き型と関数型で均質なプリミティブとはいったい・・・。
ごごご・・・...,,, >>474 よう解らんけど、それらはループの塊らしいよ。
要はプログラムの中で完結してる解は、全てループが入ってるはず。 プログラムの外でループさせろという趣旨の問題じゃないのかな? >>428
試算プログラムでは40秒でした
個人的には ideone で実行結果まで出るくらいには高速化したいと思っています、ある程度高速化した上でのこの要求はかなり厳しいです >>475
ん、そんなことは誰もいっとらんとおもうけど?
shiroさんの解、良いじゃないか!
rangeはさておき、rangeをmapしてたらそれはもうループ処理だろう… お題:犬作りましょう。(自由回答)
サンプル:https://ideone.com/jimp7B
人口無能・ドッグを作りましょう。
どこまで作りこむかはあなた次第。
なるべくビジュアライズして見せられるようにすると高得点です。
おひとついかがですか? >>417 JavaScript
var n=1,t=setInterval(function(){console.log(n++);if(n>100){clearInterval(t);}},0);
>>451をJavaScriptで書き換えてみたけど明らかにループでしょこれ >>474 がループだとか難癖つけてる土方は
このコードが何やってんのか理解出来てんの? >>481 出題者がループの定義をしていないんだから解らんよ。
format もループといえばループだろ。 繰り返しが入ってるものは全てループ。 いやいやformatはループじゃないだろ、頭湧いてるのか ■ このスレッドは過去ログ倉庫に格納されています