プログラミングのお題スレ Part13

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
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/
2019/02/12(火) 00:29:24.58ID:xM7yD0R2
const A = true;
const B = A === true ? true : false;
console.log(B);
2019/02/12(火) 01:58:51.98ID:ww6cDCbZ
>>113
If A = True Then
B = True
End if
2019/02/12(火) 01:59:52.12ID:/350tEey
>>113
!A&&B
2019/02/12(火) 02:31:32.61ID:qK/pLy4w
>>118 python
B = A
2019/02/12(火) 02:31:55.89ID:qK/pLy4w
>>113 の間違い
2019/02/12(火) 02:52:28.28ID:jwrsqhME
{あ{いう/え}/お{か/き}/く}けこ
 あいうけこ
 あえけこ
 おかけこ
 おきけこ
 くけこ

さ{し/す}せそ{{た/ち}つ/て}と
 さしせそたつと
 さしせそちつと
 さしせそてと
 さすせそたつと
 さすせそちつと
 さすせそてと
2019/02/12(火) 07:13:30.28ID:WW36R8Qd
>>113
> Bが真である
をどう解釈するかによる
文字通りの解釈なら
If A Then Assert(B)
かな
Bを真にすると解釈するなら>>117が正解かな
>>116>>119はAが偽の時にBを偽にしちゃうので誤りやね
2019/02/12(火) 09:01:25.53ID:eC1lEXzI
>>117も間違い。偽のときは未定義なんだからエラー吐かなきゃ
2019/02/12(火) 10:15:35.66ID:EWuoyvxz
未定義じゃねえだろアホ
2019/02/12(火) 10:18:36.24ID:eC1lEXzI
>>124
>>113
2019/02/12(火) 10:38:38.54ID:/lUdPPCt
Aが偽の時はエラー吐かなきゃいけないとかBを偽にしてはいけない
とかいうのは勝手な拡大解釈でしかない
2019/02/12(火) 10:45:59.39ID:dUnMTtNo
真面目に考えるだけ時間の無駄
2019/02/12(火) 11:03:54.75ID:8L309PqZ
>>125
アホかお前
AならばBでAが偽ならばそれは真だっつーの
義務教育からやり直せよ
2019/02/12(火) 11:18:15.32ID:eC1lEXzI
>>128
> AならばBでAが偽ならばそれは真だっつーの

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

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

の意味がよくわからん…
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 の真偽に依らず真になる

だから何だという話ではある
2019/02/12(火) 11:30:20.12ID:7Ldk0kbC
>>129
そう決まってるじゃん
前提が偽ならどんな推論でも導けるし真になる
論理学の初歩
2019/02/12(火) 11:36:13.30ID:puzbyhsI
AならばBと
Aが真ならばBが真
とは違うだろ
2019/02/12(火) 11:43:29.03ID:puzbyhsI
「AならばB」
と言う命題は
「Aが真でBが真である
Aが偽であればBは真である」という命題の
上の文の3行目のはじめの部分をプログラムしろということだぞ
2019/02/12(火) 11:45:33.01ID:puzbyhsI
4行目間違えた
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でもない
136デフォルトの名無しさん
垢版 |
2019/02/12(火) 12:11:50.75ID:/o8EBvgR
>>99 Bash
https://ideone.com/rMrZEf
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でもない
2019/02/12(火) 12:31:09.58ID:eC1lEXzI
>>130
ありがとうこれは分かりやすい。
高校出てないけど義務教育は真面目にやったんだがなぁ…こんなのあったっけ?
2019/02/12(火) 12:36:07.27ID:puzbyhsI
そういうことは日本の教育問題になるからな
2019/02/12(火) 12:42:53.41ID:YxhBMJOC
>>99
2019/02/12(火) 12:43:36.37ID:YxhBMJOC
送信しちゃった
https://paiza.io/projects/33hywoLmd5aRCzkTicwRUQ
2019/02/12(火) 12:47:20.67ID:cy1s3mXO
>>136
よくできました。

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

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

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

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

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

これを自分の顧客に提示して見なさい。 バカじゃないのと言われるよ。 理解力がないと思われるだろうな。
2019/02/12(火) 18:50:16.09ID:zaXjz+ge
説教厨あらわる
2019/02/12(火) 19:11:01.53ID:Rw1aIHZT
>>132
その2つの意味後違うって言うならそうなるセマンティクスを提示してみせろや
「普通は」同等に扱うだろ
2019/02/12(火) 19:12:14.58ID:Rw1aIHZT
>>150
意味後違う → 意味が違う
152デフォルトの名無しさん
垢版 |
2019/02/12(火) 19:59:08.96ID:mxj4fC0D
チコ 「A->Bの意味も知らずにボーっとコードかいているんじゃねよ!」
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), $/}
# =>
あいうけこ
あえけこ
おかけこ
おきけこ
くけこ

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

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

死ね
2019/02/12(火) 22:13:32.20ID:afakhEje
>>132
一緒ですよ
156デフォルトの名無しさん
垢版 |
2019/02/13(水) 05:57:47.09ID:ttYQgqMy
お題
print(a)
のように変数の宣言や代入なしで
使用するとどうなろか
2019/02/13(水) 07:02:03.53ID:Xe5jZGpg
>>156
日本語でok
2019/02/13(水) 07:39:48.48ID:aN9MpGEF
EXCELシート名が1文字のシートが数シートある。これをwindows10でVB6を使いデータベースで読み取ってみせよ。
2019/02/13(水) 08:26:40.04ID:ds2YQTN5
>>154
だから>>134で4行目間違えたって書いてあるだろ
よく読め
2019/02/13(水) 08:38:42.75ID:ds2YQTN5
>>155
AならばBと
Aが真ならばBが真
が同じならば
AならばBと
Aが偽ならばBが真
と同じ
AならばBと
Aが偽ならばBが偽と
同じ
ということになるぞ?
これは同じじゃないから君の言ってることは
間違ってるということだな
2019/02/13(水) 08:43:59.85ID:ds2YQTN5
よく考えたらやっぱり同じだな
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は真である」が同値にならないケースってなんだよ
馬鹿も休み休み言えよホント
2019/02/13(水) 11:03:26.26ID:ds2YQTN5
>>162
>>161に「よく考えたら同じだな」って書いてあるじゃん
2019/02/13(水) 11:23:09.04ID:B8qJWD6e
「よく考えたらやっぱり同じだな」だけでは何と何が同じだと思ったのかわからない
悪びれた様子もなく前後の文脈からも推論不可
とてもまともとは思えない
2019/02/13(水) 11:31:27.70ID:ds2YQTN5
>>164
わかりにくくてごめんね
166デフォルトの名無しさん
垢版 |
2019/02/13(水) 11:36:53.06ID:ttYQgqMy
>>156 Lua
print(a)
実行結果
nil
2019/02/13(水) 11:59:11.28ID:kZE3tAhm
言語とか使えるライブラリとか制限しないと
意味が無くなっている希ガス
言語指定した場合でも特定の文法を使っては
ならないとか制限加えると面白いものが
出来るような,,,
2019/02/13(水) 12:32:49.57ID:B8qJWD6e
>>165
お前の場合、わかりにくいんじゃなくてわかりえないの
日本語もおかしいし
2019/02/13(水) 12:36:48.35ID:ds2YQTN5
>>168
俺の文が不親切すぎたよな
ごめんねごめんねー
2019/02/13(水) 13:30:26.24ID:0cDEleYh
>>167 制限なんかしなくてよいよ。 ライブラリが嫌いならあまりライブラリが使えそうにないお題を出せばよいだけだし。
例えば正規表現ライブラリなんて装備されていない言語は殆どないだろうし、標準装備している言語とそうでない言語で不公平になるし。
使えるものはすべて駆使して解けばよいだろ。
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 (変わらず)
172デフォルトの名無しさん
垢版 |
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
2019/02/13(水) 18:26:24.24ID:J6DmHrNb
>>172 それちゃうよ。
A が False の時 B がFalseに限定される
2019/02/13(水) 18:27:28.53ID:J6DmHrNb
と言うか何を返してるんだろ。
175デフォルトの名無しさん
垢版 |
2019/02/13(水) 19:13:38.60ID:ayAZ2qec
>>156
C言語のようなコンパイルする言語だとだいたいはコンパイル時にエラーになって実行不能だろうなあ(そうでない言語もあるかも知れないが)。
更に print がない言語もある。少なくともCの標準的なライブラリにはない。printf()やputs()のようなものはある。
なので変数宣言すればコンパイルは通るが今度はリンクで関数が見つからなくてエラーになりこれまた実行不能。

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

###

#
#

###
###
2019/02/13(水) 21:10:56.19ID:9nMuJOxB
回転もOKの場合は↓も入るってことかの?

##
#
2019/02/14(木) 00:46:56.24ID:QGThOkDI
>>176 なんか図が良くわからないな。

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


*//
***

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

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

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

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

100
110

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

Error in cat(a) : object 'a' not found
Execution halted
2019/02/14(木) 11:52:48.67ID:rq9LAi9f
パーツの対称性を見るくらいしかなさそうだけどなぁ

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

回転なしなら、111 2個と 1が6個
1
1
2段のパーツが3個
の3種類が解?
2019/02/14(木) 13:09:44.77ID:zlobX1y6
上でもう出てんだろ
回転なしなら辺の約数の組み合わせで全部だっつーの
2019/02/14(木) 13:44:03.89ID:icHgtaXf
ヤング図形考えて終わりじゃねえのコレ
2019/02/14(木) 13:56:13.92ID:iDdALKjs
abcd
badc

abab
cdcd

aaba
babb

abbb
aaab

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

abcd
badc

-----|
2019/02/14(木) 20:45:00.72ID:0TijawxO
>>202 全く理解できない。
>>176 はどうして一つ目が6個なのかな? 1個しかないじゃん?
一つ目って何? 二つ目って何?

https://i.imgur.com/GzvMfWg.jpg

自分が今見てるのは、iPhone BB2C
2019/02/14(木) 20:54:16.99ID:RyxU72PZ
回答の良し悪しだけじゃない、良問悪問ってあるよね…
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列が全て埋まります

###
###
2019/02/15(金) 01:14:00.78ID:Ap6BYDwO
>>203
回転を許す立場なら
@_
_@
って言うパーツ一種類だけからできてんじゃん
頭大丈夫か?
2019/02/15(金) 01:38:17.60ID:nnYj1Xkq
>>207 b と d が同じに見えるそっちこそ頭大丈夫か?

abcd
badc

これのどこが、
--@
@―

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

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

■ ■
というパーツも入るがそれは除外されてるから、回転も無しだ。
2019/02/15(金) 10:38:13.03ID:NxGjA/1R
>>199のような飛び飛びのパターンまで含めると5x5くらいのサイズなら解けそうでも
10x10くらいの大きさになるとほぼ解けなくなるか?
2019/02/15(金) 11:04:50.72ID:bh7l703i
...
d0<-a
a->b
b->c
c->d
c'<-d
b'<-c'
a<-b'
d->a2
d<-a2
a2->b2
....
に対して
任意の英数字から初めて右向きの矢印をnこ進んだ英数字を一瞬で割り出す簡単な計算方法を教えろ
左向きの矢印のときも答えろ
ここで英数字には好きな整数の値を対応させろ
2019/02/15(金) 11:10:32.09ID:bh7l703i
自己解決しました
この問題には答えなくていいです
2019/02/15(金) 11:21:16.25ID:bh7l703i
新問題
...
g0<-a
a->b
b->c
c->d
c'<-d
b'<-c'
a<-b'
d->e
e->f
f->g
f'<-g
e'<-f'
g->a1
g<-a1
a1->b1
....
に対して
任意の英数字から初めて右向きの矢印をnこ進んだ英数字を一瞬で割り出す簡単な計算方法を教えろ
左向きの矢印のときも教えろ
ここで英数字には好きな整数の値を対応させろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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