X



プログラミングのお題スレ Part13
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2019/02/03(日) 11:21:53.20ID:72eosYJ+
プログラミングのお題スレです。

【出題と回答例】
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/

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

※前スレ
https://mevius.2ch.net/test/read.cgi/tech/1538096947/
0113デフォルトの名無しさん
垢版 |
2019/02/11(月) 20:48:49.82ID:uHNor3GB
お題:Aが真であるならばBが真である ことをプログラムしなさい。
0115デフォルトの名無しさん
垢版 |
2019/02/12(火) 00:09:52.31ID:VqanzRzk
バカなのか?AとBに因果関係があるわけじゃないし、この世の全てがプログラム言語でマッピングできるわけじゃない、数学徒は帰れ
0121デフォルトの名無しさん
垢版 |
2019/02/12(火) 02:52:28.28ID:jwrsqhME
{あ{いう/え}/お{か/き}/く}けこ
 あいうけこ
 あえけこ
 おかけこ
 おきけこ
 くけこ

さ{し/す}せそ{{た/ち}つ/て}と
 さしせそたつと
 さしせそちつと
 さしせそてと
 さすせそたつと
 さすせそちつと
 さすせそてと
0122デフォルトの名無しさん
垢版 |
2019/02/12(火) 07:13:30.28ID:WW36R8Qd
>>113
> Bが真である
をどう解釈するかによる
文字通りの解釈なら
If A Then Assert(B)
かな
Bを真にすると解釈するなら>>117が正解かな
>>116>>119はAが偽の時にBを偽にしちゃうので誤りやね
0126デフォルトの名無しさん
垢版 |
2019/02/12(火) 10:38:38.54ID:/lUdPPCt
Aが偽の時はエラー吐かなきゃいけないとかBを偽にしてはいけない
とかいうのは勝手な拡大解釈でしかない
0129デフォルトの名無しさん
垢版 |
2019/02/12(火) 11:18:15.32ID:eC1lEXzI
>>128
> AならばBでAが偽ならばそれは真だっつーの

えっ、どういうことなの?
それは
AならばB
のとき
AでないならばB
ということ?
BはAに関わらず真ということ?

> AならばBでAが偽ならばそれは真だっつーの

の意味がよくわからん…
0130デフォルトの名無しさん
垢版 |
2019/02/12(火) 11:29:33.12ID:dUnMTtNo
>>129
論理としては A => B (AならばB)は対偶論理 ¬B => ¬A (BでないならばAでない)を成り立たせるために通常 ¬A∨B (AでないかまたはBである) で定義される
つまり A => B という論理式は A が偽であれば B の真偽に依らず真になる

だから何だという話ではある
0133デフォルトの名無しさん
垢版 |
2019/02/12(火) 11:43:29.03ID:puzbyhsI
「AならばB」
と言う命題は
「Aが真でBが真である
Aが偽であればBは真である」という命題の
上の文の3行目のはじめの部分をプログラムしろということだぞ
0135デフォルトの名無しさん
垢版 |
2019/02/12(火) 12:10:48.64ID:2r3VUiS2
A: 自然数 : 1,2,3,・・・・・
B: 整数  : ・・・・・ , -2,-1,0,1,2,3,・・・・・

AならばBである
AでなければBでもない
BでなければAでもない
0137デフォルトの名無しさん
垢版 |
2019/02/12(火) 12:12:39.52ID:2r3VUiS2
>>135 間違い
A: 自然数 : 1,2,3,・・・・・
B: 整数  : ・・・・・ , -2,-1,0,1,2,3,・・・・・

AならばBである
Aでなければ不定
BでなければAでもない
0138デフォルトの名無しさん
垢版 |
2019/02/12(火) 12:31:09.58ID:eC1lEXzI
>>130
ありがとうこれは分かりやすい。
高校出てないけど義務教育は真面目にやったんだがなぁ…こんなのあったっけ?
0142さまよえる蟻人間 ◆T6xkBnTXz7B0
垢版 |
2019/02/12(火) 12:47:20.67ID:cy1s3mXO
>>136
よくできました。

お題: ひらがなで与えられた五段活用動詞の五段活用を表示しなさい。
明らかに五段活用動詞でない場合は、ERRORと表示しなさい。
0143デフォルトの名無しさん
垢版 |
2019/02/12(火) 13:39:39.30ID:dUnMTtNo
>>138
義務教育ではやらない
というか高校数学でも明示的に教えはしない(証明ではしばしば暗に使う)
そして大学の数学科では何をおいてもまず最初に学ぶ
0146デフォルトの名無しさん
垢版 |
2019/02/12(火) 16:12:20.21ID:MCXQbCzx
>>145
必要な感じがするのであれば高認受けて高卒と同等にでもなりなさい。昔の大検と違ってそれだけでも高卒扱いになる。
その後大学行くかどうかはご自由に。金と時間があまりないなら通信制ってのもあるよ。
この頃はネットの大学もあるな。よく知らんけど。

まあしかし既に社会人になって何十年も稼いできてしまった人の場合はもはやどうでも良い話かな。
0147デフォルトの名無しさん
垢版 |
2019/02/12(火) 17:14:44.20ID:AqcDbyue
>>138 理解したいと思った気持ちが大事。深入りの必要はない。

プログラムの世界というのは、客のニーズを知らなくてもなんでも解決しないといけないから、その時々で勉強するしかない。 実践の世界。
素地がある方が理解は早いとは思うが、気にすることは無い。

その時に必要なものを勉強すれば(理解できれば)良い。 全ての学問を習得するなんて不可能なんだから、学問なんてあまり気にしない方が良い。

ただ、論理的な思考訓練はやった方が良いとは思うが、大学でできるとは思わない方が良い。 ひたすらプログラムを続けた方が思考訓練になると思うぞ。
0148デフォルトの名無しさん
垢版 |
2019/02/12(火) 17:34:27.64ID:AqcDbyue
>>113 しかしさ、この日本語は日本語として成り立っていないんじゃないの?
日本語としても論理学としても
日本語の曖昧さを残したまま、お題にする方がおかしい。

これを自分の顧客に提示して見なさい。 バカじゃないのと言われるよ。 理解力がないと思われるだろうな。
0150デフォルトの名無しさん
垢版 |
2019/02/12(火) 19:11:01.53ID:Rw1aIHZT
>>132
その2つの意味後違うって言うならそうなるセマンティクスを提示してみせろや
「普通は」同等に扱うだろ
0152デフォルトの名無しさん
垢版 |
2019/02/12(火) 19:59:08.96ID:mxj4fC0D
チコ 「A->Bの意味も知らずにボーっとコードかいているんじゃねよ!」
0153デフォルトの名無しさん
垢版 |
2019/02/12(火) 21:33:58.92ID:4uAoJeXz
>>99 Ruby
def hoge(str)
  return str if str.match?(/\A[^{}\/]*\z/)
  raise 'ERROR' if str.match?(/\A[^{]*}|{[^}]*\z/)
  a, *b = str.scan(/(?<={|\A)[^{}]*(?=}|\z)/).map{|s| s.empty? ? [''] : s.split(?/)}
  s = str.gsub(/(?:{|\A)[^{}]*(?:}|\z)/, '%s')
  a.product(*b).flat_map{|e| hoge(s % e)}.uniq.sort
end

%w[
  {あ{いう/え}/お{か/き}/く}け{こ}
  さ{し/す}せそ{{た/ち}つ/て}と]
].each{|s| puts hoge(s), $/}
# =>
あいうけこ
あえけこ
おかけこ
おきけこ
くけこ

さしせそたつと
さしせそちつと
さしせそてと
さすせそたつと
さすせそちつと
さすせそてと
0154 ◆QZaw55cn4c
垢版 |
2019/02/12(火) 22:11:55.07ID:afakhEje
>>133
>「Aが真でBが真である
>Aが偽であればBは真である」

完璧に間違っていますね…Aが偽であってBが偽であってもいいのです
あなた、もう馬鹿としかいいようがないですね、論理学の教科書が読めなかったの?いや、日本語が読めなかったの?
生きていること自体が罪悪といわずして何といえばいいのか…

死ね
0156デフォルトの名無しさん
垢版 |
2019/02/13(水) 05:57:47.09ID:ttYQgqMy
お題
print(a)
のように変数の宣言や代入なしで
使用するとどうなろか
0158デフォルトの名無しさん
垢版 |
2019/02/13(水) 07:39:48.48ID:aN9MpGEF
EXCELシート名が1文字のシートが数シートある。これをwindows10でVB6を使いデータベースで読み取ってみせよ。
0160デフォルトの名無しさん
垢版 |
2019/02/13(水) 08:38:42.75ID:ds2YQTN5
>>155
AならばBと
Aが真ならばBが真
が同じならば
AならばBと
Aが偽ならばBが真
と同じ
AならばBと
Aが偽ならばBが偽と
同じ
ということになるぞ?
これは同じじゃないから君の言ってることは
間違ってるということだな
0162デフォルトの名無しさん
垢版 |
2019/02/13(水) 09:12:06.89ID:B8qJWD6e
>>160
糞コテの肩は持ちたくないがなんだこのくっそみたいな日本語は

「AならばB」と「Aが真ならばBが真」が同値ならば
「AならばB」と「Aが偽ならばBが真」と「Aが偽ならばBが偽」が同値
って言いたいのか?

同値になるわけねえだろ
ABの真偽は4パターンしかねえんだから、いくらお前が無能でも全4パターンくらい考えてからレスしろよ

大体、任意の命題Pに対して「P」と「Pは真である」が同値にならないケースってなんだよ
馬鹿も休み休み言えよホント
0164デフォルトの名無しさん
垢版 |
2019/02/13(水) 11:23:09.04ID:B8qJWD6e
「よく考えたらやっぱり同じだな」だけでは何と何が同じだと思ったのかわからない
悪びれた様子もなく前後の文脈からも推論不可
とてもまともとは思えない
0166デフォルトの名無しさん
垢版 |
2019/02/13(水) 11:36:53.06ID:ttYQgqMy
>>156 Lua
print(a)
実行結果
nil
0167デフォルトの名無しさん
垢版 |
2019/02/13(水) 11:59:11.28ID:kZE3tAhm
言語とか使えるライブラリとか制限しないと
意味が無くなっている希ガス
言語指定した場合でも特定の文法を使っては
ならないとか制限加えると面白いものが
出来るような,,,
0170デフォルトの名無しさん
垢版 |
2019/02/13(水) 13:30:26.24ID:0cDEleYh
>>167 制限なんかしなくてよいよ。 ライブラリが嫌いならあまりライブラリが使えそうにないお題を出せばよいだけだし。
例えば正規表現ライブラリなんて装備されていない言語は殆どないだろうし、標準装備している言語とそうでない言語で不公平になるし。
使えるものはすべて駆使して解けばよいだろ。
0171デフォルトの名無しさん
垢版 |
2019/02/13(水) 15:40:07.94ID:0cDEleYh
>>113 python
if A: B=A

結果
Aが True の時 B(結果)= True
Aが False の時 B(結果)= None (変わらず)
Aが False の時 B(結果)= False (変わらず)
Aが False の時 B(結果)= True (変わらず)
0172デフォルトの名無しさん
垢版 |
2019/02/13(水) 18:13:27.57ID:ttYQgqMy
>>113 Lua
functio naraba(A, B)
if A == B then
return true
else
return B
end
end
0175デフォルトの名無しさん
垢版 |
2019/02/13(水) 19:13:38.60ID:ayAZ2qec
>>156
C言語のようなコンパイルする言語だとだいたいはコンパイル時にエラーになって実行不能だろうなあ(そうでない言語もあるかも知れないが)。
更に print がない言語もある。少なくともCの標準的なライブラリにはない。printf()やputs()のようなものはある。
なので変数宣言すればコンパイルは通るが今度はリンクで関数が見つからなくてエラーになりこれまた実行不能。

まあでも言語や環境で起こることは違って来るので答えは沢山出てくるかも知れない。(またはほとんど相手にされないかだ)。
0176デフォルトの名無しさん
垢版 |
2019/02/13(水) 21:01:39.06ID:7GscGWa9
お題
長方形のサイズが指定された時、その長方形に敷きつめられるパターン全て列挙
回転もおkかは好きに定めていい
例: 2 3
#

###

#
#

###
###
0178デフォルトの名無しさん
垢版 |
2019/02/14(木) 00:46:56.24ID:QGThOkDI
>>176 なんか図が良くわからないな。

2 x 3 なら、そのパーツは, / は空きだとすると


*//
***

/**
――-
*//
*//

/**
/**
―――
*//
**/

/**
//*
――
***
***
――-
みたいな感じかな。パーツの回転を許す許さないは自由という事。
3 x 3 の時は斜めのパーツも許すんだろうね。
*//
/*/
//*
これが一つのパーツ?
0179デフォルトの名無しさん
垢版 |
2019/02/14(木) 00:50:00.40ID:QGThOkDI
>>178 斜めのパーツは現実的には作れないし、組み合わせが膨大になるから、許さない方が良いのかも。
縦、横に繋がっていないパーツは除外かな。
0180デフォルトの名無しさん
垢版 |
2019/02/14(木) 01:06:21.81ID:QGThOkDI
これはかなり難しいお題になるんじゃないの。
パーツを少なくするためには、穴開きパーツも許さない方が良さそうだし。

パーツは、空白は 0 基本図形は 1として表した方が良いのかな。 2 x 3 なら

100
110

011
001
とか
0182一尾圭吾
垢版 |
2019/02/14(木) 02:36:27.51ID:ODX5iexG
プログラミング超初心者です
自動で2ちゃんにコピペを書き込むようになりたいんですがそれってかなりレベル高いスキルですかね?
0183一尾圭吾
垢版 |
2019/02/14(木) 02:39:09.40ID:ODX5iexG
>>10うわぁww眉毛剃っとるwwwwww
流石やな....ヤクザやんw
0185デフォルトの名無しさん
垢版 |
2019/02/14(木) 06:52:51.05ID:J1vF692V
論理プログラムのスレはありませんか?
0186デフォルトの名無しさん
垢版 |
2019/02/14(木) 08:13:17.60ID:anuIpNjB
>>176
回転なしなら縦の長さの因数と横の長さの因数それぞれの組み合わせの四角を列挙すればええんよな?
回転ありだとどうすればええんじゃろ
0187デフォルトの名無しさん
垢版 |
2019/02/14(木) 08:52:55.94ID:QGThOkDI
>>176 必要なパーツの種類と個数を出せば良いんだろう。
回転させて使おうがどうしようが自由。
0188デフォルトの名無しさん
垢版 |
2019/02/14(木) 09:41:08.57ID:9tQDIG7c
>>178
パターン全てって書いてあるから単に 2^ドット数 だと思ってたんだが、人間が見た時に何らかの意味がありそうなパターンって事なの?
しかし何に意味がありそうと感じるかは主観の問題だからここでのお題としては適切ではないよね。
0190デフォルトの名無しさん
垢版 |
2019/02/14(木) 11:47:38.28ID:E3VWek4W
>>156 R
cat(a)

Error in cat(a) : object 'a' not found
Execution halted
0191デフォルトの名無しさん
垢版 |
2019/02/14(木) 11:52:48.67ID:rq9LAi9f
パーツの対称性を見るくらいしかなさそうだけどなぁ

90度回転で不変ならパーツ自体が正方形の場合しか充填し得ないし180度回転で不変なら長方形しかない
問題は対称性なしの場合で, 回転で得られる4通りの図形の組み合わせで少なくとも適当な長方形が作れる必要がある。
0192デフォルトの名無しさん
垢版 |
2019/02/14(木) 12:23:18.44ID:4UGy3YJR
出題者です、同じ1種類のパーツのみで敷き詰めるのを意図してた
回転なしは因数でおk、有りは一応解法は浮かんだが証明詰めきれなかったので好きに定めて良いって書いた
0193デフォルトの名無しさん
垢版 |
2019/02/14(木) 12:26:41.67ID:9tQDIG7c
>>189
じゃあどう解釈すれば良いのか?
0194デフォルトの名無しさん
垢版 |
2019/02/14(木) 12:30:54.48ID:9tQDIG7c
>>192
相変わらず問題がよくわからんよ。
0195デフォルトの名無しさん
垢版 |
2019/02/14(木) 12:50:46.70ID:QGThOkDI
>>192 2x3 の時は、1種類のパーツのみで埋めるとすると

111
111
の時は 111 x2個
1,1,1
1,1,1
の時は 1,1(2段) x3個

11,1
1,11
の時は 110,100(2段) 2個とするのか
11 が 2個と 1 が2個 は2種類のパーツだからダメ?
0196デフォルトの名無しさん
垢版 |
2019/02/14(木) 13:04:00.12ID:QGThOkDI
>>195 90度回転を認めると、11が、3個で良いね。

回転なしなら、111 2個と 1が6個
1
1
2段のパーツが3個
の3種類が解?
0199デフォルトの名無しさん
垢版 |
2019/02/14(木) 13:56:13.92ID:iDdALKjs
abcd
badc

abab
cdcd

aaba
babb

abbb
aaab

同じパターンで埋めるのって色々できそうだけどこういうの全部いいの?
0200デフォルトの名無しさん
垢版 |
2019/02/14(木) 18:55:26.99ID:PxTMiczy
>>199 それ何種類も使ってるじゃん。
最低何れかの縦横が連続していないとダメだろ。 パズソーのピースじゃないの?
先ずは2x3で1種類のパーツのみで探せという問題の回答を決めてほしい。
0201デフォルトの名無しさん
垢版 |
2019/02/14(木) 19:04:40.56ID:iDdALKjs
いや全部一種類だよ
マスがくっついてないだけで
連続してるとは書かれてなかったし
0202デフォルトの名無しさん
垢版 |
2019/02/14(木) 19:56:54.06ID:IkVUbwNW
お題を正しく理解できてない模様 >>176をもう1度確認
1つ目の#は6個、2つ目の###は2個、
3つ目の#    4つ目の###
   #は3個、    ###は1個で2行3列が全て埋まります
0206デフォルトの名無しさん
垢版 |
2019/02/14(木) 21:20:53.44ID:IkVUbwNW
>>204

1つ目の #   は6個で2行3列が全て埋まります

###
###


2つ目の ### は2個で2行3列が全て埋まります

###
###


3つ目の #
     #   は3個で2行3列が全て埋まります

###
###


4つ目の ###
     ### は1個で2行3列が全て埋まります

###
###
0209デフォルトの名無しさん
垢版 |
2019/02/15(金) 02:40:42.39ID:YMyZWZCa
90度回転ありなら
#     #   #     #
 # と #  と  # と # 
で敷きつめられる(=全て埋まる)という意味だろうけど
>>179に抵触するので、これは無しでしょ
0210デフォルトの名無しさん
垢版 |
2019/02/15(金) 06:13:53.42ID:hXoOelh0
>>208
回転を許すっつってんだろ氏ねよ糞無能が
@_
_@
を90度回転させたら
_@
@_
だろうが
市ね糞野郎
0211デフォルトの名無しさん
垢版 |
2019/02/15(金) 08:54:29.71ID:nnYj1Xkq
>>209 ようやくわかった。
a_
_a
_b
b_
などと並んでるものは、全て同じパーツとみなすという意味か。

>>176 のお題をよく見ると、2 x 3 の正解の回答が書かれてる。 斜めは許していないからダメだろ。
また、回転も許していない。
回転を許すなら

■ ■
というパーツも入るがそれは除外されてるから、回転も無しだ。
0212デフォルトの名無しさん
垢版 |
2019/02/15(金) 10:38:13.03ID:NxGjA/1R
>>199のような飛び飛びのパターンまで含めると5x5くらいのサイズなら解けそうでも
10x10くらいの大きさになるとほぼ解けなくなるか?
■ このスレッドは過去ログ倉庫に格納されています