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

レス数が950を超えています。1000を超えると書き込みができなくなります。
2020/11/30(月) 00:04:05.21ID:TF2Czp0y
プログラミングのお題スレです。

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

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

※前スレ
プログラミングのお題スレ Part18
https://mevius.5ch.net/test/read.cgi/tech/1594702426/
2021/06/09(水) 19:53:11.25ID:xvC+FdYf
>>895 Ruby

puts Time.now.then{|t| t.strftime('%Y/%m/%d/第%%d%%s曜日/%R') % [(t.day + 6) / 7, %w[日 月 火 水 木 金 土][t.wday]]}

# => 2021/06/09/第2水曜日/19:52
2021/06/09(水) 21:01:27.30ID:jvfDlPRh
>>895のヒント通りだと7の倍数の日付で不具合が発生するが宿題か?
2021/06/09(水) 22:04:39.42ID:9AlSa9IZ
>>897
>>896のほうが簡単なのでヒント変更
今日の日にちに6を足して7で割る 例:(9+6) / 7
少数点以下は切り捨て
カレンダーを見ながら計算すると分かりやすい
2021/06/09(水) 22:08:24.93ID:jvfDlPRh
>>898
馬鹿にしてんのかお前
2021/06/09(水) 22:10:18.30ID:jvfDlPRh
>>896の方が「より」簡単なんじゃなくて>>895が「完全に」間違いなんだろうが
2021/06/09(水) 22:14:42.79ID:YKvIUGd6
>>900
うるせえ黙ってろ
2021/06/09(水) 22:16:02.86ID:jvfDlPRh
>>901
テンプレくらい読めよアホ

>宿題は宿題スレがあるのでそちらへ。
2021/06/09(水) 22:16:54.83ID:YKvIUGd6
>>902
宿題である証拠あんのか?あ?いいかげんなこといって綾つけてんじゃねえぞおら
2021/06/09(水) 22:17:46.07ID:YKvIUGd6
だいたいテンプレにあるからなんだってんだよ、マジメかバーカ
2021/06/09(水) 22:18:06.16ID:jvfDlPRh
>>903
宿題じゃないって証拠でもあんのか? うせろガキが
2021/06/09(水) 22:19:03.01ID:YKvIUGd6
>>905
証拠がないんだったら宿題じゃないよね
ここはお題スレだから

どこの学校の何先生が出した宿題なんですかー?w
2021/06/09(水) 22:19:44.10ID:YKvIUGd6
さっさと証拠出せやおら、だせねえんだったら発言撤回して謝罪しろ大人なめんなよ
2021/06/09(水) 22:20:34.15ID:YKvIUGd6
自分の発言には責任持とうね、証拠早くだせ、言いがかりつけてただですむと思うなよ
2021/06/09(水) 22:21:47.24ID:YKvIUGd6
証拠は!!!怒号
2021/06/09(水) 22:21:56.02ID:q8AeW5Xf
宿題キッズは死んでください。

ID:YKvIUGd6
ID:YKvIUGd6
ID:YKvIUGd6
2021/06/09(水) 22:26:06.61ID:YKvIUGd6
>>910
お前が死んでください
神様お願いします>>910の脳天に雷を落として黒焦げにしてください
それをミキサーでくだいて花壇に撒くととてもきれいなお花が咲きます
よろしくお願いします
2021/06/09(水) 22:27:24.05ID:jvfDlPRh
>>895からして頭悪そうな文章だと思ったがガチの糞ガキで草
2021/06/09(水) 22:28:16.99ID:YKvIUGd6
>>912
お前だけ解けてなくてハゲワロw
2021/06/09(水) 22:28:24.82ID:KPVwbcNa
>>904
テンプレすら守れないやつはただの荒らしなんで
NGぶっこんどくわ
2021/06/09(水) 22:29:01.66ID:YKvIUGd6
>>914
報告ご苦労w
2021/06/09(水) 22:29:41.05ID:YKvIUGd6
お前ら報連相はきちんとできるのにお題は解けないのな
2021/06/09(水) 22:29:52.94ID:jvfDlPRh
>>913
第何曜日か計算するのに日付をそのまま7で割るとかいう発想しかできない糞馬鹿のお前に言われても草しか生えないんだが
2021/06/09(水) 22:30:39.78ID:YKvIUGd6
>>917
はいはい、で、君の回答は? おん?
2021/06/09(水) 22:30:45.17ID:QHAeufkP
宿題は宿題スレがあるのでそちらへ。
宿題は宿題スレがあるのでそちらへ。
宿題は宿題スレがあるのでそちらへ。
2021/06/09(水) 22:31:50.32ID:XUk+rW/h
小学生レベルの算数すらできなかったYKvIUGd6が悪い。
2021/06/09(水) 22:32:46.47ID:YKvIUGd6
リアル予備校講師の俺がガチ解説してやろうか? おん?
2021/06/09(水) 22:34:34.57ID:jvfDlPRh
駒場で公理的集合論研究してる俺にガチ解説して見ろやゴミムシが
お前みたいな雑魚がこの世に生きてるのが一番許せないわ
2021/06/09(水) 22:35:12.11ID:YKvIUGd6
>>922
1月を30日とするだろ
1〜7 は第1回目の曜日
8〜14 は第2回目の曜日
15〜21 は第3回目の曜日
21〜30 は第4回目の曜日
になる

つまり
1〜7を1に変換する式を考えれば良い
2021/06/09(水) 22:35:59.14ID:jvfDlPRh
>>923
2021/06/09(水) 22:36:28.74ID:XUk+rW/h
>>923
お前それ自分で自分の間違い認めてるじゃん。
2021/06/09(水) 22:37:27.35ID:7B3gG11z
小学生の宿題に協力してやったぜ!
2021/06/09(水) 22:38:00.52ID:YKvIUGd6
ちなみに集合論は数学の最底辺、集合論を研究してる数学者は文学科と呼ばれてる
2021/06/09(水) 22:38:32.15ID:jvfDlPRh
>>927
お前はポール・コーエンに詫びて死ね
2021/06/09(水) 22:39:27.57ID:+isrVq5u
本物の小学生っぽくて暴言吐くのがちょっといたたまれるレベル
2021/06/09(水) 22:43:56.46ID:ZOi1NsTl
酷い出題だなこりゃ
2021/06/09(水) 22:49:01.83ID:YKvIUGd6
まだピンと来てないようだから図で説明する
https://light.dotup.org/uploda/light.dotup.org695020.png

このように日付が7個ごとに箱に入っていてその箱の数を数えれば良いわけ
駒場では教えてもらえないだろうけど、こういうふうに考えると良いわけ
2021/06/09(水) 22:49:45.19ID:XUk+rW/h
>>931
君以外全員理解してるよ。
2021/06/09(水) 22:50:39.76ID:p8fYXKeJ
少数点
につっこんだら負け?
2021/06/09(水) 22:51:39.42ID:YKvIUGd6
>>932
あれあれw君回答してないよね、回答の提出がない人は理解できてないので、すぐに回答を提出するように
2021/06/09(水) 22:51:42.58ID:QHAeufkP
>>931
まじで小学生からやり直せよお前
2021/06/09(水) 22:51:51.24ID:k5a+Oahd
> ヒント
> 今日の日にちを7で割る 例:9 / 7
> 少数点以下は切り捨て
> 1を足す

馬鹿過ぎて草も生えない
ヒント とかドヤって思いっきり間違えてるとこが痛々しすぎる

> カレンダーを見ながら計算すると分かりやすい

更に駄目押し
分かりやすいとか言ってるのにコレかよ

真面目に頭の検査してもらった方が良いんじゃねーか?
頭に寄生虫とかウジャウジャ湧いてんじゃねーの?
冗談でも脅しでも無く本当にあるからな
更にキレっぷり見るに火病の疑いもある
死にたくなければマジで脳の検査してこい
2021/06/09(水) 22:52:33.82ID:YKvIUGd6
>>933
プログラムの回答コード出さなかったら負け
2021/06/09(水) 22:55:04.60ID:YKvIUGd6
>>935
だったらお前はお母さんの子宮からやり直せ
産道を通ってお母さんの膣の臭いを脳味噌に焼き付けてから
歩む人生こそいまのお前にふさわしい
2021/06/09(水) 22:55:54.06ID:YKvIUGd6
>>936
粘着レスしてんじゃねえよバーカ、発達障害かよw
2021/06/09(水) 22:56:25.06ID:YKvIUGd6
プログラムで回答した人だけが健常者
2021/06/09(水) 23:00:28.30ID:YKvIUGd6
そうだ、お前らコロナのワクチンの注射頭に刺してくださいって言ってみれば?
2021/06/09(水) 23:02:49.67ID:k5a+Oahd
ガチガイジかどうかまでは分からんが
少なくともガイジ扱いされた事のある人の反応ですね
自覚があるから草で誤魔化す
認めたく無いのだろうけど素直に診療受けた方が良いよ
病種によっては投薬や訓練で治ったり緩和出来るものもあるからさ
2021/06/09(水) 23:05:33.24ID:YKvIUGd6
>>942
よおガイジ
2021/06/09(水) 23:06:37.77ID:YKvIUGd6
>>942はガイジ扱いされたことのある人になりました
2021/06/09(水) 23:06:41.76ID:ZOi1NsTl
完全に間違ったことを言ってしまったというのに
そのことを指摘されて相手をなお罵倒するというのは
まともな頭脳の持ち主がするところではないわな

しかも自分の正当性を一切主張できていないというのがお笑いポイント
2021/06/09(水) 23:16:16.04ID:M4U6Kwpw
お前ら容赦ないなw
もうYKvのライフは0よ
2021/06/09(水) 23:16:45.29ID:YKvIUGd6
回答してない分際で何の分析してんだよ

YouTubeでもいるよな、松本はわかったうえであえて
こうすることで笑いにしてるみたいな分析をコメントに書くやつ

そしてそれにGoodするやつな、あいつらは本当にアホですわ

もっとアホなのは令和3年に見てる人ーとアンケート取るやつな
2021/06/09(水) 23:17:47.74ID:YKvIUGd6
で、お前らが好きなYouTuber誰よ? 言ってみ? おん?
2021/06/09(水) 23:17:58.85ID:ZOi1NsTl
回答も何も速攻で正答されて論破されてんのお前だろ
2021/06/09(水) 23:19:39.47ID:jvfDlPRh
>>948
あなたがこの上ない苦しみを感じながらこの世から消え去っていきますように(。>人<。)
2021/06/09(水) 23:22:41.71ID:YKvIUGd6
>>949
で、君のお題に対する回答コードはどれだね? おん?
他人のコードに便乗するのは認めないよ
2021/06/09(水) 23:26:34.51ID:jvfDlPRh
>>951
>>951
2021/06/09(水) 23:28:22.76ID:YKvIUGd6
>>950
集合論と絡めてもっと洒落たことを言って欲しい
駒場で培った頭をフル回転させて欲しい
君の本気が見たい
2021/06/09(水) 23:29:18.81ID:2azqR1ms
>>953
客観的に見てそれが乞食が物を乞う態度か?
2021/06/09(水) 23:30:53.94ID:YKvIUGd6
>>954
僕の態度が乞食がものを乞う態度でないならば僕は乞食ではないということですよね
これが集合論
2021/06/09(水) 23:31:25.37ID:YKvIUGd6
集合論を極めるとこういうことができるわけです
2021/06/09(水) 23:32:38.82ID:2azqR1ms
習合以前に簡単な論理すら通じないんだな
2021/06/09(水) 23:34:28.54ID:YKvIUGd6
>>957
> 習合

wwwwwwこれなんですか?wwwww
wwwwwwwwww習合ってなんですか?wwwwwww
wwwwwwwwwwwwwwなんまんだぶなんまんだぶwwwww
2021/06/09(水) 23:34:43.42ID:YKvIUGd6
ふぅ・・・
2021/06/09(水) 23:36:16.61ID:YKvIUGd6
俺は駒場の本気が見たいんだよ

こ・ま・ば! こ・ま・ば! こ・ま・ば!
2021/06/09(水) 23:52:19.59ID:YKvIUGd6
これでも良いです

ヒント
今日の日にちから1を引く 例:9 - 1 = 8
それを7で割る 例:8 / 7
少数点以下は切り捨て
1を足す
2021/06/09(水) 23:55:21.66ID:qriTcyP1
>>961
これでもいいですじゃなくてこちらに訂正してくださいませだろ
脳みそ腐ってんのかよ
2021/06/09(水) 23:59:17.25ID:YKvIUGd6
>>962
それはお前が言うことじゃない
客が神様だとでも思ってるのかつけあがるな痴れ者が
訂正するのは誰なんだ? あ? 日本語わかるか? おん?
2021/06/10(木) 00:01:30.90ID:SL5oYI2o
訂正してくださいませは訂正しろということだからな
相手に訂正させようとしてんのか? あ?
そんな馬鹿な日本語あってたまるかよ
2021/06/10(木) 00:04:25.71ID:SL5oYI2o
丁寧な言葉を使おうとするあまりコンテキストにバグを混入させるバカ
プログラマ辞めた方が良い、絶望的に人間に向いてない
汚い庭に首輪で繋がれてワンワン言ってた方が良い
966デフォルトの名無しさん
垢版 |
2021/06/10(木) 00:04:51.89ID:SL5oYI2o
> 962+1 :デフォルトの名無しさん [↓] :2021/06/09(水) 23:55:21.66 ID:qriTcyP1
> >>961
> これでもいいですじゃなくてこちらに訂正してくださいませだろ
> 脳みそ腐ってんのかよ

バカを晒し上げ
2021/06/10(木) 00:11:31.87ID:n+BhN48t
>>895-896
#!/bin/sh
# 日にち
d=$(date "+%e")
# 第n曜日のn
n=$(( ($d + 6) / 7 ))
# +%a : 曜日 (出力例:木)
dw="第$n"$(date +%a)"曜日"
echo $(date "+%Y/%m/%d/$dw/%H:%M/")
2021/06/10(木) 00:25:20.64ID:n+BhN48t
>>896
6を足す方法を知ってからだいぶプログラミングが楽になったよ。ありがとう。
#!/bin/sh
d=$(date "+%e")
d7=$(echo "scale=3; $d / 7" | bc)
if [ ${#d7} -lt 2 ]; then n=$d7;
else n=$(echo "scale=3; $d7 + 1.0 " | bc | cut -c 1); fi
dw="第$n"$(date +%a)"曜日"
echo $(date "+%Y/%m/%d/$dw/%H:%M/")
2021/06/10(木) 00:33:02.83ID:SL5oYI2o
整数型での切り上げは
(a + (b - 1)) / b
でできるからねー
2021/06/10(木) 00:59:09.52ID:NEUub5Vc
今世紀最大のバカ

ID:YKvIUGd6
ID:SL5oYI2o
2021/06/10(木) 01:01:43.64ID:KaOpR0kd
お題: 正方形内部の2次元空間(0, 0)〜(100, 100)にランダムに1000個の頂点を配置し、頂点群をk-means++により3個のクラスタに
クラスタリングし、頂点群の位置と3個のクラスタ中央をわかりやすく図示せよ。図示できないときはクラスタ中央の座標を表示せよ。
972デフォルトの名無しさん
垢版 |
2021/06/10(木) 09:30:47.98ID:gzqz1I/r
>>895 Prolog
https://ideone.com/JKM2Ds
973972
垢版 |
2021/06/10(木) 09:44:47.39ID:gzqz1I/r
TimeZoneをlocalに指定したのだけれど、これが'UTC'になっている。_時に9を足せば
良いだけのことではあるが。local、'UTC'以外の何を指定すればよいのか。
2021/06/10(木) 11:35:30.52ID:oO6awXFS
日本・東京とか、指定できないの?
2021/06/10(木) 12:36:17.95ID:CSZCrfaL
>>967-968
# Python版
from datetime import datetime
import locale
locale.setlocale( locale.LC_TIME, 'ja_JP.UTF-8' )
today = datetime.now().strftime( '%d' )
num = ( int( today ) + 6 ) // 7
print( datetime.now().strftime( '%Y/%m/%d/' + '第' + str(num) + '%A' + '/%H:%M/' ) )
976デフォルトの名無しさん
垢版 |
2021/06/12(土) 19:29:13.34ID:JV+4q1jr
>>895
日から1引いてからじゃないと7日が2になって駄目だよな。
(ヒントに間違いを書いて惑わす作戦か?)
977デフォルトの名無しさん
垢版 |
2021/06/12(土) 19:47:12.79ID:JV+4q1jr
>>895
Kotlin script

Kotlin だから色々省略出来たりもしてはいるがやっぱ長くなるな。

java.time.LocalDateTime.now().run { println("%d/%02d/%02d/第%d%s曜日/%02d:%02d".format(year, monthValue, dayOfMonth, (dayOfMonth - 1) / 7 + 1, "月火水木金土日"[dayOfWeek.value - 1], hour, minute)) }

今これを実行するとこう出る。

2021/06/12/第2土曜日/19:47
978デフォルトの名無しさん
垢版 |
2021/06/12(土) 19:53:47.74ID:JV+4q1jr
そういや (dayOfMonth - 1) / 7 + 1 は (dayOfMonth + 6) / 7 と同じだったな。
と思ってから他の回答見るとみんなそう計算していた。とほほ。
979デフォルトの名無しさん
垢版 |
2021/06/12(土) 20:24:55.76ID:JV+4q1jr
ごめん。Javaのライブラリだともっと簡単にできるんだった。

println(java.time.format.DateTimeFormatter.ofPattern("YYYY/MM/dd/第Weeee/HH:mm").format(java.time.LocalDateTime.now()))

これ、Kotlin かどうかは println() の部分だけで中身は Java でも同じ。
月の中の何週目なのかはFormatterで W を使うと自動でやってくれるので自分で計算しなくても良い。
今実行するとこう出る。

2021/06/12/第2土曜日/20:24
980デフォルトの名無しさん
垢版 |
2021/06/12(土) 20:28:08.93ID:JV+4q1jr
Formatter.ofPattern() での Locale は本当は設定した方が良いかも知れない。>>979は日本語環境で実行したので曜日が日本語になっている。他の言語向け環境だと曜日の文字列は違って出ると思う。
2021/06/12(土) 21:14:10.13ID:RadmeEVr
>>979
ふーむ
YYYYはweek-based-yearなので2021/12/26が2022/12/26になってしまうよ
Wはweek-of-monthなので6/6が第2日曜日になってしまうよ
2021/06/12(土) 22:21:51.66ID:RadmeEVr
>>895
Java
https://paiza.io/projects/SCH5eTG--EtxecCRlqTJsA
2021/06/12(土) 22:24:48.19ID:RadmeEVr
お題
年月と第何曜日が入力されます
その日付を出力してください

入力: 2021-07,第3月曜日
出力: 2021-07-19
2021/06/13(日) 00:00:30.76ID:EAgJhZrv
>>983 Ruby
def s2d( str )
return '' unless /(\d+)-(\d+),第(\d+)(.)曜日/ =~ str
tm = Time.new( $1.to_i, $2.to_i, 1, 12 )
( tm + 86400 * ( $3.to_i * 7 - 7 + ("日月火水木金土".index($4) - tm.wday) % 7 ) ).strftime( '%F' )
end

puts s2d( '2021-07,第3月曜日' ) #=> 2021-07-19
閏秒やサマータイムを挟んでもおそらく問題ない
2021/06/13(日) 00:26:28.82ID:FnAquiwp
JS
const f = (x) => {
let [p,q] = x.split(","); let days = {日:0,月:1,火:2,水:3,木:4,金:5,土:6};
let nth = q.match(/\d/)[0]*1;
let day = (r=>{
for (let [k,v] of Object.entries(days)) { if (q.includes(`${k}曜日`)) {return v}}
})(q)
let i = 1;
while (i<32) {
if (new Date(`${p}/${i}`).getDay()!=day) {i++;}
else if (nth != 1) {i+=7; nth--;}
else {break}
}
return new Date(`${p}/${i}`).toLocaleDateString();
}
やっつけ
986デフォルトの名無しさん
垢版 |
2021/06/13(日) 01:31:13.98ID:yIXAqgJY
>>981
あ。そうか。YYYYはyyyyにするとしても、第xの方は計算しないと駄目か。
2021/06/13(日) 01:36:37.49ID:zmNVs3Ym
>>984
第10月曜日とかあるのか?
2021/06/13(日) 01:41:41.76ID:oZLTh/kE
>>983 c
https://ideone.com/t2aQ5O
チェックはできているはず
2021/06/14(月) 01:12:22.04ID:fkUpCs5d
>>983

haskell

import Data.Time
import Data.Time.Calendar
import Data.List

data Day = Sun | Mon | Tue | Wed | Thu | Fri | Sat deriving ( Eq ,Show )

nthWeekDayOf y m n w = let
Just wn = elemIndex w [ Sun, Mon, Tue, Wed, Thu, Fri, Sat ]
baseDay = ( fromGregorian 2021 6 13 )
firstDay = fromGregorian y m 1
diffDaysOfFst = fromInteger $ diffDays firstDay baseDay
d = 1 + mod ( wn - diffDaysOfFst ) 7 + 7 * ( n - 1 )
in fromGregorian y m d

main = do
print $ nthWeekDayOf 2021 7 3 Mon
2021/06/14(月) 23:17:42.44ID:m5mozyJ+
>>983
Java
https://paiza.io/projects/wmud5TDZucvX-sng_gQnlQ
2021/06/15(火) 17:23:21.13ID:mBLvqrdS
c#
OPEN FILE DIALOGで複数画像ファイル取得
配列に入れる
40秒後2枚目表示、また40秒後3枚目表示という感じで5枚表示したい。
表示はpicture BOXで。
2021/06/15(火) 20:18:18.09ID:dr3N4crz
>>883
Java
https://paiza.io/projects/et2y3RIHniPZJzF0BvBveA?language=java
9939
垢版 |
2021/06/17(木) 00:48:24.30ID:cL+lrU1C
>>983 Perl5

use utf8;
$in = '2021-07,第3月曜日';
%h = map{$_ => ++$i} split '','月火水木金土日';
($y, $m, $wom, $dn) = $in =~ /(\d+)-(\d+),第(\d)(.)曜日/;
$dow = $h{$dn};
use DateTime;
$d = 7 * ($wom - 1) + $dow + DateTime->new(year => $y, month => $m)->day_of_week;
printf "$y-$m-%02d\n", $d;


実行結果
~ $ perl 19_983_day_of_month.pl
2021-07-19
2021/06/17(木) 20:30:35.17ID:XyG5DJkY
# >>895のPython版、>>898のPython版は>>975コレのほうが簡単
import datetime, locale, math
now = datetime.datetime.now()
locale.setlocale( locale.LC_TIME, 'ja_JP.UTF-8' )
# 今日の日にちを取得、型は文字列
day = now.strftime( '%d' )
div7 = ( int( day ) / 7 )
# 日にちを7で割って割り切れたらそれが第何曜日の何に入る数字
# 割り切れなかったら1を足して小数点以下を切り下げ
# import math ; math.floor( 3.9 ) #実行結果は3
# カレンダーを表示させて日にちを7で割ると分かりやすい
if type( div7 ) == int: num = div7
else: num = math.floor( div7 + 1 )
print( now.strftime( '%Y/%m/%d/' + '第' + str(num) + '%A' + '/%H:%M/' ) )
2021/06/17(木) 20:41:18.66ID:MdpjMllh
汚いコードだな
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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